Indeed, there really isn't such a thing as targeting Linux as Linux isn't a single operating system/platform. Software written for Fedora often doesn't work for Ubuntu, projects targeting Ubuntu don't work on Debian, etc. Patches are often required to get software working on the various distros, either applied in download distributions or by developers working with upstream.
Developers rarely have the time and resources to test their software on the dozens (hundreds, really) different open source operating systems. I think the real problem lies not in which platform is targeted, but how the upstream devs react to patches and suggests from downstream. Do they accept suggestions and code into their project or do they tell downstream they're not interested. This varies a lot from project to project.