In addition to the other causes mentioned in numerous threads, there's one that was hinted at but not fully resolved.
If you have the WordPress Address (URL) with no www but the Site Address (URL) does have www, the menu bar disappears.
We started our site with no www, but GoogleAnalytics was set up for the old site with the www so we needed to change it.
I just changed the Site Address to include the www and everything seemed to work ok until I realized a couple of days later the Admin Bar had disappeared in the front end.
Adding the www to the WordPress Address resolved the issue.