As a web engineer and web developer I always wanted to know the technology which were used at a particular site. My personal solution was to dig into the source code and find some specific pattern which tells me that a site is made in Drupal for example. My problem was that it takes time, and I can't recognize every CMS, maybe the just the most common ones. So here are some solutions what I found:
1. Manual method
Detecting the site based on the administrator page.
An incredible site which tells a lot about different sites. It does much more than telling the CMS which was used, it tells basically about the server used libraries etc... Check it out here: http://builtwith.com
3. Chrome Sniffer
What I use us a chrome plugin called Chrome Sniffer: