We are a SonicWall partner - a large portion of our clients use them.
Sure you can do content filtering, but it's impossible to configure any sort of granularity in the system such as, allow these users to access these sites, those to access those site. I've worked with multiple Sonicwall engineers on this issue. You just can't do it. Period. There is one set of rules that you can either allow or deny. That's it. Similarly, the bandwidth management sucks if you want to do any sort of QoS.
This all boils down to the UI really. GUI's and firewalls are just a mix that only work for simplistic needs. Once your needs pass a certain threshold, they just get in the way and make it nearly impossible to do the configuration you need. Sonicwall designed their interface for the "part time office manager IT person" and grew from there. And it shows. Cisco frankly is in a similar situation. Use the GUI for simple crap to get you going, the command line when you actually need to do anything complex.
As another poster mentioned, pretty much all firewalls out there are embedded Linux or BSD, and just slap their GUI on top along with other random services. Some do a pretty good job of exposing the underlying power of the native firewall, others, not so much. Sonicwall's is pretty good for exposing that power but the web GUI gets in the way all too often when you need to do a lot of similar rules or complex rules.
Finally, another poster recommended using GMS to manage multiple Sonicwalls. This product is insanely priced and only makes sense in a larger organization that would be better served with alternative products (Cisco, etc.) Despite all the high end models they sell, I wouldn't use ANY of them for an organization with high-end needs. Sonicwall's nitch is small business with 50 or fewer users and in my opinion, selling and supporting these things, that's the only market that it's viable to use them in.