This is done with @font-face in CSS. There are several issues with it, but with a few workarounds you basically can do it in all (or most) browsers.
Basically, the font files are included with the website and get downloaded with the web page. So there are big copyright issues involved. The font foundries are only just beginning to come to terms with this.
Here are some useful links:
There are some nice collections of fonts that are free to use, and the code is all set up to work with the various browser conditions:
Another option is to pay a licence fee to use fonts this way:
Hope that helps!
You could also use sIFR instead, in which you place the font (mainly headings) in a Flash file. (With Flash off, the default font text can be shown instead):