Some functions shown in the video include:
1.Pushing (and pulling if sticky) at least 1 block
2.Moving the player
3.Blocking fluids, like a floodgate
4.Use en masse is possible (piston walls)
5.Gravity-affected blocks are NOT launched, but do fall to the piston if the piston contracts under it
6.Blocks which have tile entities cannot be pushed. (Not shown in the video, is that bedrock and obsidian also cannot be pushed.[citation needed])
7.Pistons CAN be moved by other pistons in official version, but only when the piston is not extended.
That is everything thats known about the pistons for now