Simple tool code being written more as a proof of concept/rapid functional prototype that I've been working with off and on for more than a year. There was some weird edge case that would break filling some data into a tree structure for display that was giving me issues because of how I had laid out the initial code for it, but I thought I had a solution to the problem while eating lunch. Quickly scribbled down pusdo-code on a pad before heading back to the office, and then really quickly wrote a new function to drop in place of the old one. It worked, covered all the edge cases, and I was able to fire the system up for a demo a few minutes later to show off a 'bug "free" version' of the program.
The tool worked, did what we needed it to, so 'good enough', and Surprise! All my attention is now needed elsewhere, the tool was considered 'done' as it met all our needs for internal use, and we would worry about any bugs in it if and when they popped up. We expected that I would have a few hours later that week to go back and tidy things up a little before actually parking all the code, but the days of that week turned into weeks of that month, then months of that year. When we finally DID have to go back and make some updates to account for a slight change in process... Well, Surprise, I had never actually gotten around to writing comments for the new code. And I had stupidly copy/pasted some of the old code in rather than taking the time to rewrite all the variables and internal stuff that I still needed. So a coworker ended up trying to sort out what was going on with my 'graceful and clever' bit of code based on comments for code that did things in an entirely different manner.
Another fun and memorable mistake was one I ran into early in my career when I was doing more testing than code. I was working on a mobile game as a new guy, and since I was never working on anything critical I would often get tasked with sitting down and running through the entire game on an end-user testing check to make sure bug fixes were, you know, actually fixing things. There was a fairly minor bug in the alignment of some graphics at the very end of the game, but it was rather critical because you couldn't actually finish it. Ran through the game the first time, reopened the ticket because there was no change. Few days later the new build is ready, and the bug is flagged as fixed. Nope, reopen. Comes back a few days later, same thing. This repeats a dozen or more times, and we eventually realize that the guy who was fixing it kept forgetting to roll his branch of the code into the main trunk line, so he never actually deployed his fix on to the general build server, only his personal builds.
So remember to check your build and version handling.