The primary issue revolves around the selection process for moderation. To become a moderator for a subreddit, you need to have thought of the name of the subreddit. That's it. This nomenclature designation act grants any user absolute power within that domain space, and the ability to grant any other user the exact same powers.
The person who created the "programming" subreddit has no qualifications, no resume by which to judge their aptitude for the moderation job, and no process exists by which to vet newly added moderators.
A moderator can, for any or no reason, decide to activate the "spam filter" on any submitted article, removing it from public voting and view. This is the only tool by which Reddit moderators are given to modify their respective domains, and when used for reasons other than spam, it "teaches" the filter to remove non-spam results. This is the cause of the "broken" spam filter on Reddit - moderator abuse.
For example, the sole /r/truereddit moderator believes in a laissez faire moderation style, and the subreddit is slowly getting worse and worse as the userbase increases. Every time a /r/truereddit post makes it to the front page, a virtual swarm of idiocy surrounds the entire subreddit for a few days.
But that's the only way the moderation system is designed to work. There's no way to remove/approve content without training the filter. If someone submits a codinghorror post to /r/programming that is completely off-topic, the moderators either have to remove it, effectively warning the filter that codinghorror might be spam, or hope that the userbase does the right thing and votes it down. Usually, they won't, especially the people who are voting from their customized front page, not paying attention to what subreddit something is in.
It's broken, and the admins have never really expressed any concerns about this fact.
This happens in every growing online community. As the community grows, the new members don't necessarily have the same interests as the original ones. This happened at digg, reddit, and now even HN has posts about declining quality, which is another way of saying content can be "better".
Generally, what's the beef with not liking "self promotion" i.e. me posting my own blog articles?
As far as self promotion, there isn't a whole lot of consensus on it. The community aspect of the site is somewhat at odds with the link aggregator model. If bloggers submit all of their content, pretty much automatically, and don't contribute to the community in other ways, that doesn't really tend to go over so well. As a result, people who create content are expected to invest time and energy into becoming part of the community so they can accurately gauge how their content will be received.
It's not just supposed to be a place to dump all your links.
/r/programming is more biased towards the link aggregator model than the rest of the site, however the community aspect is still there. Someone mentioned a 10:1 ratio for other content to your own, however in /r/programming, I usually say that 50/50 is fine.
The usual rule is 10:1 of your own content, but that depends on the subreddit.