Snafu was originally a World War II-era military acronym standing for "situation normal: all fucked up." These days, a snafu is any mistake or problem.
The original, military meaning of snafu is obscene. However, since you don't actually say the f-word when saying snafu, just about no one is offended by this word these days. Back in the military, a snafu would have been a dangerous situation, but this word is used now for any kind of goof-up. Spilling soup or forgetting your tickets to a baseball game are snafus. Any error, glitch, or screwed-up situation can be called a snafu.