I can recommend three companies:
Directnic.com - Very stable, all the basic features, but domains cost $15 a year. I used to have a number of domains with them, but started moving away to cheaper registrars. Paying an extra $5 a year is not much if you have a few domains the registrar is good, but if you have 1,400 domains you get more price-sensitive.
Domainsite.com - Small, but responsive customer service, basic features, clunky user interface, and you can register for as low as $7.99 a year. Can pay via PayPal. I have a lot of domains with them
Name.com - Connected with Domainsite.com, they have an improved interface and often run specials on domain names. Good service and features, they also feature an area where you can buy domains that are expiring before they are released to the public at a cost of about $20 each. We have a lot of domains there.
Namecheap.com - Mid-sized, $9 a year fee comes with free private Whois, nice features including a domain marketplace where you can easily buy and sell domains for a small fee. Also allows pay via PayPal. We have quite a few domains with NameCheap. They also have user-support forums.
Godaddy.com is a very large registrar and they have about the best customer support, but no 800-number. Their user interrace is about average but somewhat slow. The thing that many hate about them is that you just want to buy or renew one domain and have to wade through many upsell offers and some are confusing so that you might think you "need" some of them. In this way they don't treat their customers right, in my opinion. Some of their pricing is high, but they do offer specials from time to time. In fact if you search for "godaddy coupons" you can find sites that list different coupon codes for things. If you collect several of these, you can try many of them when you have items in your shopping cart. Depending on what you are buying, the coupons may or may not work, and the discounts can vary. The secret is to keep track and then use the coupon that provides the lowest total cost. You can try 10 codes and then go back and enter the 3rd one to get that discount, but they do not add up, you can only use one per shopping cary.
Also check out Dynadot.com. I have a few domains there and their prices and features are good.
If you want to resell domains you can pay for a program like what Godaddy offers, but I think any program where you have to pay to sell a company's products doesn't make much sense. We signed up with ResellerClub.com and used it mostly to get better pricing although we also have a storefront where we can sell domains, hosting, SSL certificates, etc. to others. Talk to me if you are interested in that.
If you want some help selecting a domain name and TLD please ask.