So basically what you're saying is that in order to have any right to complain about open source software you have to have knowledge, experience, and skill in programming? Because when you say "Why don't you submit a patch?", that's what you're implying.
Newsflash: Not every user of FOSS software knows how to program. Nor should they need to know. Unless you want it to turn into some sort of exclusive little club, in which case the worldwide share of Linux would drop by a good 99%.
Users aren't complaining because they want to be whiny or difficult. They're complaining because they see a flaw. If you want your software to be widely accepted, listen. If your software is just coding for self satisfaction, and you don't care about user adoption, then don't listen.