Why? Because the hosting prices they list aren’t the whole picture. You know that ‘s’ on that ‘https’ that urls start with? Well, it’s really important. It means your connection to the site you’re visiting is end-to-end encrypted. That’s good practice but you don’t need to know the ins and outs of that. What’s important for you to know if you want to start your own website is that you need to have that ‘s’ because browsers now just don’t like connecting you to sites that don’t have it. They will give you warnings that the site is not trusted. And why would you want to visit an ‘untrusted’ site? Why would others want to visit your site if they’re getting that warning?
So the problem is: Namecheap makes money from selling you that service that adds that ‘s’. It’s part of their business model. Thing is: you can get that ‘s’ for free from non-profit services like Let’s Encrypt. For free! But Namecheap doesn’t want to allow you to use that service because they’d prefer to try to squeeze money from you for an essential service that you absolutely need in order to have a useable website. Other service providers have seen the writing on the wall and now allow Let’s Encrypt. You can find a list of them here.
So that’s why you shouldn’t go with Namecheap. They also do some other annoying things like force you to check on their site for discounts for services that automatically renew. Like literally you can save like 80% off stuff by manually hitting that renew button yourself. That is annoying.