The monetary reward for users using your app (say, in an ad-supported case) provides the clear linkage of “well, if I want the money, I have to show the ads; if I want to show the ads, I need a user using it; if I want a user to use it, I better make it easy to use…”
You're right about that. Some projects work well enough for the person who wrote it and was kind enough to release the code, but they aren't necessarily interested in attracting a huge userbase. It's often "Hope this helps someone else out" and that's about it. Still, there are some incentives for writing and maintaining popular open source software. Bragging rights if nothing else.