[Xiaomi Redmi Note 5 / 5 Plus ROMs, Kernels, Recove] droident:
I can understand your frustration though I think it's possibly misplaced.

Xiaomi are the reason for most, if not all, the issues afflicting custom ROM users. It was the same story on the last Xiaomi device I owned - they don't keep sources that developers rely on up-to-date.

Vince hasn't had the smoothest ride when it comes to bugs - even as I type this my touchpanel goes unresponsive here and there. But it's the same in MIUI. Xiaomi have pretty much orphaned the Redmi 5 Plus. Updates were repeatedly stopped and eventually dried up completely. They never fixed the issues with this device. If they'd taken the time to fix them and release the fixed code to developers, the story might be different.

With that said, the few developers here on XDA have worked to make Vince usable as best they can with the expertise they have and the time they have. Vince isn't as popular as the mainline note series or a Snapdragon-based flagship. There's less owners and likely less devs than in the sub-forums for other devices.

They also work on these ROMs as a hobby in their free time, for free (with likely very few donations). They're not accountable in the same way Xiaomi is - their developers are paid a salary and it's much fairer to expect a working product from them and complain when that isn't delivered.

Now back to bugs - for the most part Vince is in good working order. Camera issues have been around for a while and that's entirely down to Xiaomi not releasing fixed drivers. There's a few other known issues highlighted in the thread - but for the most part, things work.

Then there's "bugs"; I use quotations because there's too many users not following best practices when flashing ROMs. A lot of issues encountered just cannot be replicated on a clean installation of most ROMs. The amount of users who don't understand how to push a stock image is worrying - but also OK in that this is a community and we should be open for all levels of expertise.

You mentioned developers hit the home-screen without any modifications. But the issue here is that when you combine other code from other projects things can go wrong. V4A for example is outdated and just wasn't made to run on Q. It's been repeatedly ported forward using hacks and whatever can be done to just get it working. The same can be said of many projects which are still barely getting things right so shortly after Pie. It's not a ROM dev's responsibility to make sure anything else (such as a custom kernel or a random Frankenstein vendor image) works unless their code is implicated.

On a final note it's worth taking the time to understand that ROMs might not be so easily compiled as you might think - that is, I don't think they're simply 'taking a base' and applying regular stuff.

I tried myself and it's not straight-forward or easy to understand; if it was we'd have every other user doing it. Once you start trying to figure out what everything means within the Android documentation for compiling ROMs you'll find you're in way over your head and a bit frazzled.

That doesn't mean devs should be revered as the all-knowing gods of custom ROMs (no one is better than anyone here) but they do deserve your gratitude. Things like "this is broken/fix it now" would probably get you grizzly after hours of working on and testing out a new nightly.