I disagree. Apparently, you have had one set of bad experiences with an Agency. I have had a rather good experience.
At an Agency, I am usually brought in for green field projects that larger companies don't feel their team either has the time of expertise for. This is awesome.
Also, at an Agency, I get paid for every hour I work. This is not usually the case in Product Development, where salaries are more common. The caveat, would be if you have equity. Equity can beat being paid for every hour you work, but obviously this is not always the case.
Freelancing also means you usually get paid for every hour you work. However, you also have to spend mad time marketing and looking for clients, as well as managing taxes, heath care and other housekeeping items. I dislike this, and would rather have someone else do it for me.
Agencies have a horrible reputation. I know this because almost anyone I talk to chances are they are looking for a way out.
An agency is like a freelancer but with more mouths to feed, you don't want to be another mouth to feed because the food is limited, they compete based on price.
True, that is one way to look at it, but another is that they are a family providing for each other. It really depends on the agency. As with all things in life, there are good and bad examples. Again, I have had one set of experiences and you another.
Why the stigma against agencies? I'm actually finding agency work more rewarding however I am a strategist working directly with multiple clients on how they can grow their business.
Agency work is just soul sucking from a clientele stand point. Most of the companies you work for are massive consumer facing businesses and all you're doing is helping them feed their shit to the public.
This type of work isn't necessarily confined to agencies. The same could be said for several tech companies building products (social networks come to mind).
If you're a technical person there are just far better things you could be working on than agency projects.
You are talking about (philosophical) values. This is a value judgement:
> them feed their shit to the public
A solution to this would be to work for an agency whose leadership and positioning is compatible with your values.
For instance an agency that focuses on clients who sell outdoor equipment for hikers, bikers, gliders and so on would be compatible with the values of someone who thinks it is a good thing when someone goes on a hike.
"A dev got sick, but we got to ship on monday! We gonna pay you mad monies to come over the weekend and safe our ass"
Paid good money, but was boring work. But I would recommend it anyone before starting to work for an "agency".
Product development > Freelancing > Unemployment > Working for an agency