I came across this video yesterday. It is a presentation given by Seth Godin at the Gel Conference in 2006. He gives a slideshow of things poorly designed, the reasons why they are that way, and sometimes tells how to fix them.
Other than being hilarious at moments, the video reminded me about the importance of functionality. When designing anything it is important to give thought, consideration and ample time for reflection of your possible solutions. To truly design things well does take time: Time to see flaws, loopholes, and incorrect assumptions.
If you don't invest the time, you end up with crap.
Here is the video. Truly worth watching and please share with others.