I have asked my technical question on stack overflow. I got satisfactory answers. Now I found that my question is duplicated by topic, so I want to delete it. But since it has an answer, I'm not able to delete it. Why so? Then how do people get badges like peer pressure/cleanup?
First off, your question being a duplicate is not a good reason to delete it. Your question being a bad question in general is a good reason to delete it (presuming you're not willing to fix it). If your question is merely a duplicate, it will be closed as such and serve as a "signpost" allowing users with a similar search to find your question, which will direct them to the duplicated question.
As you stated, you received satisfactory answers and therefore deleting it yourself doesn't serve justice to those who took the time to answer your question. One user having the power to delete the entire question and all of its answers simply because they're the one that asked isn't fair to anyone.
As for the badges, most people probably earn Peer Pressure on answers, realizing that it was wrong after receiving several downvotes. The Cleanup badge has nothing to do with deleting posts at all.
You cannot delete it because there are too many answers, people have responded to your request. If someone has asked a question and others have contributed answers which have been deemed valuable by the community, you can't delete the question because that would delete those valuable answers too.
If you really need it deleted for some reason I would suggest flagging it for moderator attention and explaining your rationale for needing it deleted.