CHMOD isn't the only reason for 500 errors but it's a very common one.
The other reason is that a document somehow got corrupted or the name or file extension changed.
Dave...I've seen CHMOD permissions get changed if there is an automated server backup done before. About the only thing you can do is redo all the files that require special permissions.
Carl, the board works almost like it's a program. One document refers to and depends upon others. If one of those happens to get the permission to write to it changed, then that part of the program doesn't function. Parsing would be akin to thinking..it takes bits of input and decides by checking all the things the script tells it to what to do with it. In this case it tells it what to print-out in HTML form so we can see it in a browser.