While helping Elissa with her thesis presentation, I got really annoyed at PowerPoint for its incredibly stupid habit of saving external data as absolute paths. Yes, I know absolute paths are unavoidable on Windows. However, that doesn't mean you get a free pass on user experience!
The problem boiled down to having external sound files in the document. You'd import the sounds, test them out, and be happy. Then you'd move to another machine and oops, sounds may or may not work. Three very intelligent people in the ento department were utterly baffled by this behavior. Things would work, then randomly stop working. I knew immediately that the issue was the fact that the ppt and sound files were being stored on a flash drive, and that different computers were assigning different drive letters to the drive upon insertion. So if it happened to get the same drive letter, everything was fine. But if the drive letters differed, then the sound files wouldn't work.
What's ridiculous about this entire situation is that the sound files were relative to the PowerPoint presentation! This is a very common use case, especially for people who put presentations onto a flash drive. So why not store two pieces of information in the file format? An absolute path is very quick and easy to work with, but relative paths aren't difficult to generate or parse. Save them both so you have a fallback in case drive letters change.
This isn't just a problem for Microsoft. Anyone developing an application for Windows should keep this in mind. There's no excuse for your application failing to perform properly just because the user happens to plug their flash drive into another computer. Bugs like that are a great example of why many people think computers are "magic." Consistent results are the key to making a good user experience, and PowerPoint utterly dropped the ball. Don't make the same mistake in your own applications!