A VPN is a virtual private network, it lets you connect to a network using another network as if you had a direct cable connecting you. It was originally used to connect (for example) two locations of the same business without them having to buy or rent a dedicated line.
When you connect to a VPN you are creating an encryoted tunnel between you and the server, all traffic on this tunnel cannont be seen by anyone between you and the server, once it leaves the server though it is just like normal internet traffic - a vpn does not encrypt your traffic between you and whatever you are connecting to, only between you and the vpn server. This is useful of you are on an untrusted network like a public wifi hotspot where someone else on the network could be looking at what you're doing, using a VPN would encrypt your traffic on this network so they wouldn't be able to see it. It also stops you ISP from being able to see it.
All of your traffic will apear to be comming from the VPN server so you will appear to have the IP address of the server, this protects you from anyone who will try to find out who you are by finding out which ISP owns the IP address and getting them to hand over your personaly details, they can still ask the VPN provider to do this but most of the time they are set up in a way where they either won't or can't give out your details. IT won't really protect you if you're doing something criminal but it does offer some protection from other things.
You can also use it to access stuff which you normally can't access in your country due to censorship or copyright protections.
Yes, you could connect to a friend's network using a VPN, but why would you want to, it means that all of your traffic will appear to be coming from him, why would he agree to doing that? And yes it would use his data and bandwidth and you would be limited to his upload speed.
Renting a server online and setting it up as a VPN will work, and should be fast, but you need to know exactly what you need the VPN for. If you just want to stop your ISP from snooping on your traffic or are worried about using public networks then that is a good option, but if you want to annonymise your traffic then it won't really help because your IP address will lead back to the server which you are renting, rather than an internet connection which you are renting, so your details will still be available to someone who wants them. Plus depending on which country the server company is in they may be required to keep logs and stuff like that.
A VPN will always be slower than your normal connection and if you're on DSL then it will never be that great, I'm in Australia and i've never been able to get any more than 10mbps on any of the VPNs that I've tried (I can normally get about 20mbps). I'm not sure why this is but I think it's because the DSL connection is already tunneled using PPPoE so when you try to stick a VPN tunnel inside a PPPoE tunnel you end up with a lot of fragmentation which slows the connection down and creates overhead.
I was using vyprvpn but I wouldn't recommend them. They kicked me off for apparently violating their terms of service but wouldn't tell me exactly why I did. But it turns out from this that they are able to link activity to a user so they're not really very anonymous. If you want anonymity then look for a VPN which shares an IP address with multiple users so they can't tell (even if they wanted to) which user is generating which activity. I'm currently using torguard and they seem pretty good. But my speed so far has not gone above 8mbps, but they is with a server in Europe, a closer server might be faster.
As for pfsense. It's basically software to turn a regular PC in to an enterprise level router firewall. So what it is good for it routing and firewalling. You can use it for a bunch of other things too, like a proxy server, caching server, VPN server or client, IDS/IPS system, etc. But at it's core it is a firewall router. So if you don't need anything enterpriseish then there isn't much advantage over a normal consumer router.
I use it, and I will never go back. It's not going to improve your speed (unless whatever router you're using is really crappy) but it can handle much more connections that any other router i've used. It never crashes under load or needs to be rebooted, and gives me a lot of control over everything. I have three networks which I use the pfsense box to route data between and control access as well as being my internet gateway. I wouldn't be able to do that without something at least semi enterprise, but even just for a normal home network it's pretty good too. But like I said if you don't need anything too fancy there's not much advantage to using it unless you just want to play around with it, you definitely shouldn't spend a lot of money on it if you don't need the features.