I think in general it would be better for the industry as a whole for "consumers" of open source to contribute more back. Yet there are many reasons that doesn't happen so much--not least of them, the IP issues. (For example, we would not want any contributions to Spring that could potentially have unclear IP issues.) I think the issue of advantaging competitors is not so significant--very often, useful contributions are quite generic, like the frameworks themselves. Clearly it would be unreasonable, for example, to expect a company that implemented one of its core business algorithms as an extension of Spring to open that up to its rivals.
But of course using the framework and reporting bugs/suggesting improvements on mailing lists/issue trackers is an important contribution in itself. It is *definitely* short-sighted to be a "silent" user of any project, open source or commercial: not in your interests or anyone else's.