It also depends on how much you want to control in your admin and how volatile your sidebar data is. In our case we use version control for all out static files so most of the time it makes sense to keep everything in the files. If you are building a navigation,
I highly recommend using the built in navigation tool in combination with custom fields if you have hundreds of pages.
There is a extension floating around that will allow you to load a widget by its name so you can add it to your theme and wrap it in a condition. This can be useful if you want to reuse the same one for multipule pages, if the content is unique for every
post then a custom field for that category is prob the best. I have sometimes used it for my footers so we can go in and make a change in a second. Like I said it is a case by case scenario.
In this case:
-Navigation is managed in the built in Nav tool and has custom fields for each post to turn them on or off
-Footer is a widget
-Carousel is a widget
-Sidebar is a combination of widgets hard coded HTML
-Header is a combination of widget data and hard-coded HTML
* Notice I was easily able to put the Featured Students at the top for all the student's pages.
Now keep in mind we have a load balancing server and pushing files live is a pain in the ass so I chose to create widgets out of items that would change the most. As soon as something changes I evaluate whether or not it should become a widget or added to
the admin in some other way.