Like most things in life, software breaks down. Not like, say, a car through old age or over-use, but from inherent errors. Bugs. Odd as it might sound generally software is too complicated to be perfect.