The protoss cannon is brutally effective if used properly. If I have a large choke to defend I use cannons to narrow the gap, if I decide to be going with a macro build I'll build up like 4-5 cannons at my main choke with a few zealots, generally the zealots will die but Cannons will hold them off.
Although I hate it when people build tons of them. And stalkers are great, I use them in conjuction with Zealots, 10 or so zealots w ill huge back the army as my stalkers pound on them.

