I think social media campaigns are much better, especially that with social media sites you can track specific groups. For instance, when someone likes casinos on FB, we know he is a possible gambler.
Bitcointalk campaigns don't target specific users, but rather a much larger group of bitcoin users. Also, this forum has only a couple thousand active users, which is nothing compared to FB or Twitter.
Before I read your post, I wanted to write that the best solution is combo - combination of both types of campaigns.
After reading your post, came to my mind that it is not so simple ..
It seems to me that everything depends on the product.
We must decide if we want to reach only a litlle, but very carefully precised group of clients only on bitcointalk, or maybe we want show our product to a wider audience through social media ..
Anyway I will choose combo of both