I have been using eFax for a number of years an that is probably one of the better ones out there. But there are a variety of services that allow you to do that same thing. Basically they provide a print driver that will sit on your computer and when you print a document (selecting this printer) it will ask for the phone number and basic fax cover info, and fax it off for you via the internet (they have the fax machine on their side). You receive faxes by them providing you a telephone number (you can pick the area code or a toll free for a little extra) and they will email you any faxes that come in and provide the software to view it. Price for this is $16.95 a month.
There are other services as well who may be cheaper. If you are at $16.95/month its close to a VOIP service anyway.