A few quick tips I have picked up working with UmbracoCMS that might help you out when things go wrong.

Ensure you can login to the database directly using any username and password in the web.config file. Whilst this is obvious and true for any website, Umbraco has a habit of swallowing these errors at times like upgrades leading to some missleading error hunting.

Check the logs in ~\App_Data\Logs. By default each site logs to a local app data folder. Up the verbosity with this change to the log4net config:

<log4net>  
  <root>
    <priority value="Debug"/>
    <appender-ref ref="AsynchronousLog4NetAppender" />
  </root>

Check the event log for errors and warnings, even if running under IIS Express and visual studio, some log messages only error/warn to event log and not the local log file which is annoying.

Is the database and media folder up to date and in sync with each other? If you use multiple environments it can help to ensure your media folder and database are from the same time and contain all the data you are expecting.

Republish the entire site using http://server:port/Umbraco/dialogs/republish.aspx?previews=true and click "republish".