We used to use an old free helpdesk which was fairly basic but clunky - take up was a bit low as people didn't like the fact they had a separate username/password for yet another system.
Since we already had Netsupport DNA installed (which is an hardware/software inventory tool with some handy extra features) we went for the DNA Helpdesk product.
The product is pretty good, it's AD integrated so it picks up your users from there (although you do have to make sure you have filled in department and company - which typically we hadn't!)
It handles tickets well, is configurable for different issue codes/resolution codes etc and it will email techs when a new ticket is put on.
The only thing I wish it had was the ability to make it's look'n'feel more like your own internal branding/intranet/vle/whatever.
But for me the best feature is the integration with DNA for the hardware/software inventory so you can see exactly what machine it is users are reporting a problem on. I understand you can integrate it with their remote control product as well so you can remote into a machine direct from the helpdesk - can't say how it works as we don't have the remote control product installed.
I'm not sure on cost though, might be an eeeeek moment.