It's really all about configuration and architecture.
If you just want to be able to remotely access a particular PC that's on your home network, the simple and free solution is to use something like LogMeIn. That works by installing software on your home PC which then allows it to be accessed by you remotely; the means for doing so is that you point a web browser (which has had a plugin installed) to the logmein.com website which serves as an encrypting intermediary to your home pc. It really works quite well as long as you're not planning to use it to watch videos or play computer games; if you're trying to access email, start a program running on your home pc, access files, etc., it works very well.
If you want to use other means like a VPN (virtual private network) it's also possible, but it requires router configuration to allow outside -initiated access to certain ports, and hardware or software to encrypt/decrypt and manage the connections. There are relatively cheap boxes that are dedicated VPN servers which you can get for $150 or less. If you are looking to tie two specific locations together, a nice solution can be to have one box on each end and have all communications between the two sites go through them, making it seem to each end like you're on the same private network despite going over the internet. That way you don't have to do anything special from each device you use on either end. If you are going to be moving around you can use the VPN client usually found either within your operating system or as a cheap software package to establish a connection with the VPN server at home.