Note: This answer is also in response to http://blog.stackoverflow.com/2012/05/encyclopedia-stack-exchange and the short discussion I had with @spolsky on Twitter about it (which is too limited as a channel to discuss this topic).
I disagree with answering your own questions or using StackOverflow as your personal blog.
The FAQ states: "You should only ask practical, answerable questions based on actual problems that you face." But the moment you ask a question you know the answer to already, you are no longer facing a problem. You already got the solution. There is no point in asking the question anymore, because you do not need help.
The only reason to add my own answer (for me) would be if I didn't get any useful answers and then managed to solve the problem on my own in the meantime. Sure, the resulting page would be the same as providing both in one go, but at least I was facing a problem then when I asked the question.
Now, I do understand that StackOverflow is a Q&A site. And by that definition, it should not matter whether you know the answer already. If you can provide both, it's still a Q&A site and maybe your question is helpful to someone with a similar problem in the future. So, all is well, right? Well. No. Because you are breaking the process.
When you provide Q and A in one go you effectively tell people: "I don't need your help. Go on. No problem here." That's broken. The community-driven problem solving process is a key element of this site. You are not supposed to take our role in this game. You ask your question to us and we will help you. We enjoy helping you. Why are you taking that away from us? We are the community. If you need to share some solution so badly, go find someone with that problem - or post it on your blog.
Furthermore by answering, you stole my chance to get the green tick. People love getting the green tick, right? Upvotes are nice, but only one person can have the green tick. It indicates a winner. Sure, the OP could decide that my answer is better, but how often do Accepted Answers get changed? Rarely. Once the OP has a working solution, the Accepted Answer stays. I have very little incentive to add my answer there.
Also, chances are "the problem" was already solved on StackOverflow anyway and I'd rather like to see good solutions added to existing Questions to have collections of quality answers instead of people spreading their quality answers into many individual posts. The latter cause duplication and make it much harder to find the good parts among them. If we want to encourage Canonicals, we need to encourage people to add them to existing questions and not each try to do their own.
Finally, if we allow people to use StackOverflow as their personal blog, we implicitly also allow them to not care about duplicate or inappropriate content. I can write whatever I want on my personal blog. If I feel about writing a tutorial about How to format a timestamp into a specific date format I can do so. If I want to write a mini-series about what each letter in SOLID means, I can do so. If I want to write about how to use my project X on GitHub, I can do so.
But the first one would be a dupe and the second one would belong on programmers.SE and the third one is likely too localized. IMO, we already have more than enough to do fighting the dupes that come in on an daily basis for real questions (even with combined coordinated efforts). By encouraging people to abuse StackOverflow as their blog, we only make it harder for those trying keep this place tidy.