Domain name resources
What makes a good domain? Of course this depends on your needs. But you'll want something that's easy to spell (so no one has trouble typing it in), easy to remember, easy to pronounce (so people can easily tell each other about it), and as short as possible. You should almost always avoid numbers, dashes, symbols, or homonyms.
The domain name finders listed below will assist in your search. They help with finding free domains that match your criteria. The more advanced ones will let you enter a word, and it will find similar words to search for.
As for the actual registering of domains, there's a huge selection, and many of them are awful. As the market is so competitive, many try to make a quick buck by haranguing you about the various add ons they provide. Some just simply overcharge. Many of the practises employed by registrars are, arguably, user hostile. For example, making it harder to transfer to another registrar, or disable auto-renewal of your domains.
In an early attempt to help find the more up-front and honest registrars, the list below includes the price, the price for private registration, and a number representing how many times you'll be prompted to add additional expenses before you get to purchase your domain - a heuristic for irritating business practises if you like. Take it with a grain of salt.
And as always, post more if you find some.
Domain name finders
Domain name registrars