I think if you have a subject specific forum, then a dedicated announcements forum would be a good way of channeling spam to a specific area rather than having to deal with it at random in other forums. At the end of the day, you would usually configure your forums based on the wants / needs of your visitors - if a specific subject area was high demand, then you would dedicate a new forum for it right?
With this in mind, your users (or at least a percentage of them) may want to promote their services or whatever, then surely it must be better to nurture this in a controlled way than expend resources trying to prevent random occurances?
Another issue is how do you define what is spam?
As webmasters / SEOs / forum admin, our opinion of what is spam may differ from business owners and indeed regular users. What we see as blatant self promotion may be a welcomed alternative resource for our users.
Clearly certain stuff could be constituted spam - someone new member posting, "Hey I found this great new site....blah blah blah" in 10 different forums is clearly spam - it's not directed at the best interests of your users.
However, someone adding to an ongoing discussion and posting an URL to their own services that is relevant to the subject may be beneficial to your users, and ultimately make your community become a good resource for "widgets".
From my own experiences, I run a career advice site, so I get many recruitment consultants, CV / resume writing people, etc posting and leaving their URLs. The way I look at it is if these "experts" offer their input to various threads, then Im fine with them leaving their URL (I draw the line at sigs in every post). On the other hand, I'll instantly remove people starting threads promoting services, etc (although I'm fairly leniant towards people promoting information sites and the like).
I suppose it's down to the subject area of your forum - some industries are more prone to spamming than others.
Scott