One of my pet peeves is the pop-up dialog box messages that programs often give you. To me, this is one of the worst UI decisions to make when writing a program. Since many programs that I run are actively internet dependent, and I travel with my computer most of the time, whenever I leave the range of a Wi-Fi hotspot all my programs give me dialog box error messages for want of an internet connection. Windows gives you these all the time as well, for any number of errors.
Why do I dislike these? Because I have to click "OK" on ALL of the dialog boxes in order to even use the programs that the errors originated from. From a user perspective, of course I want to be notified of errors, but I should not have to put up with error messages that completely bring to a halt my productivity until I click past them all.
For a good example of the right way to do error messages, look at the IM client called GAIM. When there's an error, it puts a notification directly on the client window, not blocking anything else, and only giving you a pop-up dialog box if you click on the error message. Otherwise it does not hinder you at all. If you resolve the error, the error message goes away without any sort of pop-up. More UI designers should follow the lead of the GAIM people.