I am not sure that the only question should be getting a cheap domain. Another important question is what services do you get with your account.
When you need to do advanced public routing then having good DNS tools is key. Also how easily can you add or change services on your domain? What about support? Even if your very technical sometimes things happen on DNS forwarders or the your external DNS maintainer and if you can't reach people, or the ones you do reach are incompetent then where is the value in what you are paying for?
I use EasyDNS.com, they don't use questionable practices, very helpful, excellent services associated with the domain and reasonable pricing.