There are two answers to this. If you are using WordPress.com to host your site, you are not allowed to install any themes on the standard account plans. You have to pick from what Wordpress gives you. They give you a lot, though...
If you are self-hosted, you download the theme (it should come as a zip file) and then log in to your site as the Administrator. Go to Appearance | Themes and choose Install Theme then upload the zip file. Assuming it is a valid theme, it will decompress and become selectable. This process is the same for free themes or custom themes.
I would be exceedingly careful, to the point of paranoia, about using a free theme found outside of the WordPress.org repository. You need to go through the theme files and look for any code that would remotely connect to another server and run ads on your site or allow an attacker to upload and execute a script that could turn your site into a spam engine or a drive-by download attack site. These scenarios are depressingly common.