Presenting a menu within page content with associated descriptions and images Currently, I have a drupal project where I have two levels of menus. (So for example, the top menu has "home" "about us" "faq" etc.) each top level menu has a secondary menu.

I'm trying to create a node for each top level menu item that is an 'overview' of that category. One of the things that I'd like to do on each overview page is provide an expanded version of that secondary menu in the content area, where instead of just having links, we would also have a description and an image associated with each menu item. (So on the "About Us" page, there would be a link to the "About Us-> History" page, and this link would have an icon and a description). Ideally, I'd like to lay these out as a set of horizontally spaced squares below the content area.

Currently, I'm managing this by creating a custom block for each link/image/description combination, and using Context to toggle the appropriate blocks on and off, but this seems really inefficient and error prone. Can someone recommend a 'correct' way to do this?
I'm not positive I entirely understand what you envision, but one possibility might be to use the Menu Trails Module to handle the submenu.

For the section of blocks you are currently toggling on and off contextually, I might consider instead authoring a block in Views that is queried off a default argument passed through the url.  This argument would be the same value from the Main Menu which is configuring the Menu Trails and could be configured to display the node teaser (or a cck/field value called Overview) for the active Main Menu Item.  

Or what you may be describing is something more like a list of submenu items as teasers,:

[Some Photo] | [Some Photo] | [Some Photo] 
[Menu Title] | [Menu Title] | [Menu Title] 
 [Overview]  |  [Overview]  |  [Overview]


In that case, I'd still use Menus to organize the content hierarchy, but don't check expand in the menu options.  Instead, use the method described above to construct a block in Views that displays all the submenu items. You won't need Menu Trails for this type of display.