Most apps ask at the wrong time, they'll prompt users after x number of launches. For example, today I opened Mailbox to check my mail, and boom up pops a "rate this app" dialog. Honestly, I just wanted to check my mail, and had I been a different type of user, I may have said sure I'll rate your app… headed to the app store and left a scathing 1 star review.
Asking for a review on the App Store shouldn't be a sin, but most developers approach it wrong. Dan has highlighted some great effective ways to prompt dedicated users to rate or review your app.