I once put adding the recipients for an email to the wrong loop which meant if you were the last user in the database you would receive the email 10.000 times if there were 10.000 users. If you were the user before 9999 times etc.. only the first user that signed up received it once (my test account). So I only found out when the client called me that all their mandrill credits had ran out in a few seconds.
In startup failures: didn’t listen to my gut feeling and let my cofounder pile on more features and quibble about the design for a year before validating a single feature with a potential customer. We didn’t make it with that one...