I think the thing missing in this is all the low-quality questions that end up getting closed due to lack of solvability. One of the objectives of SO's rules is to avoid flame wars and ambiguous answers.
Imagine the question : "What is the best templating engine to use for Django?" This question doesn't have an answer, because it's so dependent on use case (even that statement is controversial). So if it's on SO and not closed, you'll get a bunch of answers that are contradictory, and people flaming in the comments.
I think the main objective for the SO team is to have people land on the site and _have their answer right there_. By removing possibilities of these off-topic questions, you're less likely to land on answers that help your specific thing.
End result is "when I land on SO I get an answer every time" instead of "when I land on SO sometimes I get a flame war". For branding, at least, I think it works in their favor to close those questions