The look and feel is consistent (they already know how to use a web browser)
Consistent w/ what? Have you ever noticed that google, yahoo and msn don't look alike? Just like these sites can look different, so can web pages. I don't but this one.
They load fast
Another false statement. The rendering of a page and rendering of a client side app are minimal compared to what they do on the backend, wether it is a DB operation, SOAP call, or something mathematical. I'd even go so far as saying, using an app is faster for more things. Imagine doing a spreadsheet in a web page. It'd be god slow just to add a new row or column.
No versioning hassles (ever tried to manage a project made oh hundreds of separate DLLs that depend on each other and are on a client that breaks 1,000 miles away?)
That's why you sandbox your app. Apple did this right, right off the bat. Your app is not a .exe per se, but a .app directory under the hood. When you double click say, Word, it "runs" Word.app. It actually loooks for an executable in the right place in that directory. BUT it uses a lot of internal libraries stored in that directory too.
Now to argue the other end of things. Web sites can be VERY complex, especially if you develop a common api for common things. You break something very rudamentary, or something in the language that you program with changes a library, you have the same problem.
No low-level hard-to-debug errors (the client breaks, leaks memory....)
Shorter developement times
Depends. Are you using mod_perl, servlets or something? It's easy to create a memory leak.
Less 'layers' and less moving data back-and-fort
Er? You always move data back and forth. if you mean ease of access, a Perl/TK program is just as easy as a perl cgi. Same w/ php/gtk and php.
Play that funky music white boy..