wifi > 3G any day. If you are at home / work where there is wireless i'd choose that 1st as well.
Not always. As with any Internet connection, it depends on what's on the other side of the wi-fi LAN "connection" that matters.
My only real connection at home is cellular (laptop card used in a Kyocera KR2 router). So wi-fi = 3G for that system. No cable or dsl service is available and I dumped satellite as soon as the contract expired.