More rarely, a webmaster has been in the process of uploading his site when his upload software crashed. This may leave broken links for a short time until the problem is fixed. Generally an ISP will provide, at least for a short time, a redirect page to a new site. And of course some sites simply shut down. This is actually getting more rare as it's often more expensive for an ISP to delete old data than it is simply to prevent updates.
Search engines are notorious for their broken links.
Because of this, all of the above problems can occur, leaving broken links. You can use htaccess to define custom error pages to trap 404 and other error conditions. The 404 error page is generally pretty lame. If you can, you can use this as a tool to get your visitors deeper into your site. Humble people don't think less of themselves - they just think about themselves less.