Given a choice, should I plant sunflowers or sun-shrooms?
You should pick sun-shrooms on night levels, and sunflowers on day levels.
The reason you want to use sunflowers during the day is that sun-shrooms sleep during the day, and they won't work unless you wake them up with the Coffee Bean.
The reason you want to use sun-shrooms at night is because they only cost 25 (instead of 50) sun, and yet they produce 15 sun each. This means that for the 50 sun you start with, you're producing 30 sun instead of 25. This extra sun is needed because there's no passive sun being produced due to it being night time.
The only downside to sun-shrooms is that you get less sun production for the same amount of space (even though they're more cost efficient, they're less space efficient) but this is mitigated due to the fact that after 2 minutes they grow up and begin to produce 25 sun, at which point they become just as space efficient as sunflowers.
In a daytime level, there's no reason to use Sun-Shrooms. They're very expensive during day because you have to wake them up with a Coffee Bean before they'll even produce any sun. Also, you can only build Twin Sunflowers on Sunflowers.
In most of the nighttime levels, start with Sun-Shrooms because they're cheap to start, which is important in the sun-starved nighttime. After a while, Sun-Shrooms will grow up and produce the same Sun as Sunfowers.
In the extra-hard Survival Modes, when you have a very long time to build your garden, you may want to pack Sun-Shrooms, Sunflowers, and Twin Sunflowers. Start with both Sun-Shrooms and Sunflowers, and when your economy is strong enough to support it, upgrade all the Sun-Shrooms to Sunlowers, and then to Twin Sunflowers.