Let's begin by saying that the stock ROMs on certain devices have become very adequate. I own a Nexus 5X and a Moto X Pure smartphone, and their stock ROMs are basically a pure Android experience. The software is already lean without any carrier bloat. Everything works fine, except for the times when google's rushed updates may sometimes introduce a new bug. I also run a stock Samsung ROM on my Galaxy Tab S tablet.
On the other hand, there is a considerable cost to using a third party alternative ROM like Cyanogenmod. For one, those third party ROMs don't always support hardware as well as the stock. If you had read release notes for something like a Cyanogenmod release, you had surely run into statements like "limited camera functionality" or "fingerprint sensor, etc".
Another issue with third party ROMs is that some software builders actively block or sabotage them. For example, the AT&T's Uverse streaming service will detect whether you have a rooted or third party ROM and stops working. The Netflix goes only up to 480p resolution on a non-stock ROM. "Fixing" this probably involves editing build.prop and hiding your root, but I haven't tried it recently.