Why should web uploads be stored outside of the document root?
The intent of this stipulation is to prevent someone from directly accessing content that they may have just uploaded. If someone uploads a PHP script to your web server, and your server is configured to store uploads within the main web site directory structure, and your server is configured to execute PHP scripts from within the main web site directory or sub-directories, then the uploader could directly request the URL to the uploaded file and have your server execute their script.