Unfortunately for the programmers of the world, not all problems are caused by user-error. Unix and are complicated systems, and all known versions have bugs. Sometimes these bugs are hard to find and only appear under certain circumstances.
First of all, what is a bug? An example of a bug is if you ask the computer to compute ``5+3'' and it tells you ``7''. Although that's a trivial example of what can go wrong, most bugs in computer programs involve arithmetic in some extremely strange way.