1. Many programmers are not particularly competent. Add in the untrained people writing scripts, VBA applications, etc, who have no clue about software engineering, testing, etc. No surprise that simple errors crop up. 2. Dates are really, really horrible. If you have not had the privilege of writing an international application, worrying about different date and time representations, simultaneity across different time-zones (and the date line) - well, it's an adventure, and even careful testing may not catch everything. Gratuitous real-world example: WinXP allows users to set date-separators and the like in a way that makes unambiguous date/time parsing impossible. http://it.slashdot.org/story/10/01/06/0343252/Y201K