Is it possible to have one Craft install running multiple domains and/or subdomains?
For example having the same Craft install running a blog Channel at blog.example.com and also an about Single at example.com/about.
Update for Craft 3
Craft 3 includes native support for multi-site installation. Here's a link to the official docs and here's a link to another question with more resources.
Old answer for Craft 1 & 2
Credit to @LukeHolder for the original answer, but here's a bit more detailed and technical answer. Note, this might not be possible on all hosts.
Place the craft folder above both domains, add Craft's index.php file to both domain web roots and set the $craftPath variables in them to point to the same craft folder.
To make a template (say for a blog) only load on its own subdomain instead of whenever any of its slugs are requested on any domains you can run this quick check:
{% set domain = craft.request.getServerName() %}
{% if not domain starts with 'blog' %}
{% redirect '404' %}
{% endif %}
This will make "blog.example.com/some-blog-post" load, but "example.com/some-blog-post" will redirect to the 404 page.
Links to posts can formatted like this to add the subdomain to the URL:
http://blog.example.com/{{ entry.uri }}
While this isn't an end all solution, it is a functional workaround, especially if it's only for page or two. Use Craft 3 if you can.
Yes, it is possible to have a Craft install on multiple domains and subdomains as long as you only access the control panel from a single domain and you only have a single installation of craft that all the domains and subdomains use.
The limitation is all domains would be using the same url router and content - although for multi language content having different domains might be the way to switch on which language to use.
No you can't. In Craft's early days, they had a MSM-like (ala ExpressionEngine) feature, but they eventually removed because it overcomplicated the system.
You will have to run a unique craft install per domain. However, these Craft installs can at the very least share the same craft/app folder: http://buildwithcraft.com/help/sharing-craft-files
I was also looking for an elegant solution to server multiple domain from the same Craft instance and this is what I found.
The multiple domains documentation will assist your domain setup and is pretty easy: http://buildwithcraft.com/docs/multi-environment-configs
Where I got hung up is adding content which is specific to one domain. The only 'hacky' work around I could come up with was using rewrite rules (.htaccess, etc) to append the request with a url segment that could be targeted via routes.
example.com -> main site example2.com -> landing page site. .htaccess rewrites to example2.com/lp/news
In the example above, I could also access the /lp/news from blog.example.com unless I want to manage conditionals in configs / .htaccess (for this domain, not this domain, etc).
At the end of the day, it's pretty clear Craft isn't intended for multiple sites and I don't recommend solutions that become a spaghetti mess to manage. If it's a landing page or two, I think using the combination of configs, routes and rewrite rule would do the trick...anything else I would look into a separate instance.