If I were to list all the units that Fungal Growth is effective against, I'd end up with a list of the units in Starcraft 2. There was once even an occasion where I cast Fungal Growth on Siege Tanks (which seems ridiculous, but was very necessary).
Instead, to try and determine how to effectively use it, let us follow the advice of Hannibal Lector (quoting Marcus Aurelius):
First principles, Clarice. Simplicity. Read Marcus Aurelius. Of each particular thing ask: what is it in itself? What is its nature? What does he do, this man you seek?
Fungal growth has two properties to it, which you've listed, it prevents units from moving and it does damage (36 over 8 seconds). Its nature then is two fold: Damage and Delaying
Fungal Growth does 36 damage over 8 seconds (in game seconds) or 4.5 DPS. By comparison a Phoenix does 9 dps, a Zealot does 13.3, and a Hellion does 3.2 (vs non-Light). So not a ton of damage; but, like the Hellion, it does AOE damage so that 4.5 is multiplied by the number of units you hit. Hit two and you're like a Phoenix; three and you have Zealot level damage; four and you're out dpsing Hydras and Ultras. So the first principle of effective Fungal Growth is: The more units the better. Obviously this means you want to target smaller units more often as they clump up better.
Unlike Hydralisk, two Infestors can't Fungal Growth the same unit (well the can, but it doesn't overlap, it just resets the duration), so your principle use is going to be slightly different from a Hydra ball. While you're still going to want to Fungal Growth his whole army during large scale engagements, this isn't the time when Fungal Growth functions best. Instead consider its long range (9?) and how you could utilize that to get more than one cast off on a given unit. Consider an advancing enemy force, and what happens as you Fungal Growth it and fall back: its forced to wait out the damage. While healing and repair will mitigate this some you are draining resources. Thus our second principle is like voting in Chicago: Early and Often. Get Fungal Growths off before the main battle
In addition to doing damage, the other large advantage to freezing an encroaching enemy army is that it buys you time. Zerg is largely a momentum race so many Zerg players will opt for very Macro oriented builds, choosing to invest more heavily in Economy than a standing army. As a result you may not have the forces to deal with an assault when it comes. Being able to delay your opponent for 8 or 16 seconds can easily be the difference between a 100 food army and a 130 food army. One of the best people to see this behavior in is Liquid`TLO's Zerg style. He will frequently delay opposing armies with Fungal Growth while he builds a force. So the third principle of Fungal Growth is: More Time means More Units.
Delaying an Assault is fine and all but there are time when what you need to do is delay a retreat. Whether its Marines retreating from Banelings, Drop Ships running from Hydras, or maybe just an enemy force looking to run from a losing battle, being able to stop a retreat is almost always a good thing. Usually, if your opponent is smart, he's retreating for a reason, and cutting off that retreat is letting you exploit that reason. So our Fourth principle of Fungal Growth is Don't Let them Get Away.
So let's sum up about the uses of Fungal Growth:
- The more units the better
- Early and Often
- More Time means More Units
- Don't Let them Get Away
Whether you're getting Infestors as your core Tier 2 unit, or your just using them to supplement your current army, I think you'll find that these four principle will really help you be more effective.
The issue of Range came up and Fungal Growth does indeed have Range 9. You can verify this in the Galaxy Editor, but I have also supplied a picture as proof:
I used a Viking (Range 9) as a ruler.