Public WiFi is just a open network.
Becouse anyone in a network can manipulate traffic inside that network (see is there any security threat with open wifi connection)
You are basically trusting all other clients in the network,
not just all wifi clients but all network clients. like:
- Wired clients.
- Access Points.
all of these could be used to record or manipulate the data you send and receive.
Since you do not have any legal contract with the other parties you can not file a legal claim against any of them if there is any serious misuse (the main reason 3G/4G differs, aside from the per channel encryption as @hector already describes).
So Basically WiFi is as secure as its components are, since in a public / shared WiFi connection you have no control over the components and the components can be added by any party, it has an intrinsic hostile network state (you can not trust anything about the network or what you send / receive on it).
the primary way to safegeurd yourself from manipulation of your actions is employing a VPN connection to a known secure endpoint. This does not close the door for directed attacks to your device though and (if applicable) you should employ firewalls and other techniques to safeguard yourself.
3G/4G does not have the same threat as the network normally does not have a way to transmit data to a device without the device initiating a connection first. (this is a setting done by the Mobile company though not a given network property).
Public wifi is bad for security because there is no known secured part, and any part not known safe is considered insecure.
3G/4G is safer than Wifi because the way they are normally setup is in such a way to protect customers (and carriers).