I recently had the experience of taking a home-grown app I've been writing and using for a while, and having other people start using it.

Sure, of course it has some rough edges. But the people I work with are smart, they'll figure a way around it, right?

No.  Your app is terrible and completely unintuitive.

What a developer percieves to be a "rough edge" can often be a downright "blocker" to a user.  "oh, I forgot you have to run that as admin."  "oh, you need to have X installed"  "oh, I haven't tested it on Win7."  

For every little stumble, you, the developer, recover quickly.  But for someome else it can take *hours* of beating their head against the keyboard before they finally figure out what's wrong in the debugger or come ask you.  Multiply that by however many people are trying to get up and running.  Add to that the time you've spent tripping over it yourself.

If you try and use a tool, and discover three problems with it, it's really really hard to have any faith in that tool.

Get rid of the rough edges.  Print good errors.  Recover gracefully.  Save yourself and your teammates some time and frustration.