This has never worked for me.

It's a joke. I have Gmail reliably pushing calendar updates to the iPhone so it can't be an iPhone issue.

Is it Yahoo!'s fault or Vodafone?

Yahoo says that push notifications are sent over the "carrier" and not over WiFi.

Does this mean it's Vodafone's problem? Or is Yahoo! lying?

Does your Yahoo! mail on iPhone push??