In the Minecraft Wiki entry for pistons, under the heading "Pushing Blocks", it says the following:
Some blocks cannot be pushed by Pistons and the piston head will not extend:
- Obsidian, Bedrock and Nether Portals to avoid abuse
I can see how pushing Bedrock blocks might be considered bad, because there may be ways to punch holes into the Void or move the bedrock to the surface and build indestructible structures with it. I can also see why Nether Portals shouldn't be pushable, since they are a technical block and should remain within the Nether portal frame.
However, it's not clear to me why pistons shouldn't be allowed to move Obsidian blocks. What sort of "abuse" would be possible if pistons could move obsidian? Were players previously doing bad things with this ability, requiring this limitation to be put in place?