During the development of Beta 1.7, Mojang was considering adding spike blocks that would function like a piston, except with spikes instead of a flat piston head. They instead decided to add sticky pistons that could pull blocks, and make spike blocks into a static block that could simply be pushed and pulled with the sticky pistons instead. Sticky pistons were implemented, but they couldn't decide how they wanted spike blocks to look or function.
Contributed by budder11