Asset Uploading via Assets Field Broken, please help
Checking the logs is of course recommended:

craft/storage/runtime/logs


However, I have personally found that failed uploads are related to "write" issues where either the directory permissions are invalid or the actual upload path doesn't exist (aka invalid).

One simple way to potentially obtain more information is to look at the actual HTTP response for the "upload file" AJAX request. I often do this via Chrome's Developer Tools' Network tab.


Open Chrome Developer Tools
Click the "Network" tab.
Perform the file upload.
Click on the "uploadFile" request that was generated
Click the "Response" tab to view the completed response (which will appear once the response is returned).