[Android Q&A, Help & Troubleshooting] Planterz:
I have T-Mobile's Unlimited plan, which has unlimited data and 5gb free hotspot. My phone is a T-Mobile branded Samsung Galaxy Light SGH T399. On my phone I have PdaNet+ installed, with the full unlock key purchased ($8).

There's a free one to try, to make sure it works with your phone; whether it works or not depends on the phone itself, the version of Android it runs, and the provider from which you got it (if you didn't get an unlocked version). For example, a particular phone might work fine with T-Mobile, but the Sprint version of that phone might not. That's why there's the free version - to test before purchasing. The limitation with the free version is that it times out after about ~10 minutes and you have to reconnect.

PdaNet can connect to your computer in 3 ways. Wifi, Bluetooth, or USB tethering. Again, depending on your phone, carrier branding, and Android version, some methods may work while others won't.

Wifi works just like any wifi hotspot. However, depending on the afore mentioned conditions, wifi hotspot might not work the way you want it to. For example, on my T-Mobile branded Samsung Galaxy Light SGH-T399, using the wifi hotspot on PdaNet also loads up the pre-installed T-Mobile hotspot, which drains the 5gb mobile hotspot allotment. I haven't found a way to break that on this phone. On other phones (like Nexus devices), I know there are ways to only use your phone's data, and not the hotspot allotment, but frankly, these are very complicated and need a VPN subscription (ie: more money) to work. Wifi hotspot use is often broken anyway, depending on your carrier and Android version.

Bluetooth and USB tethering work differently than wi-fi, but otherwise work essentially the same way as each other. Both require a companion program to be installed onto your computer. A good idea is to keep a copy of this program on your phone, so you can install it on other people's computers if necessary (and perhaps the USB drivers for your phone as well).

I haven't messed around with Bluetooth much, because the Bluetooth on my laptop (via a dongle) is glitchy as $#@!, and I've never been able to get PdaNet to work with it properly except for a couple times which didn't last. Actually, I've never gotten anything to work properly with Bluetooth on my laptop, so this is probably just a problem with my computer/dongle/drivers, and YMMV. On the few times I've gotten PdaNet or other internet via Bluetooth (which some phones have built-in, and don't require PdaNet at all), speeds have been much, much slower, and I'd rather tether via USB anyway.

I connect my phone's internet to my laptop with USB tether. Make sure USB debugging is enabled, and plug it in. Make sure it's set as a Mass Storage device (4.1 or earlier), or as a Media Device (4.2+). Then on your phone, open PdaNet+ and Activate USB Tether (you can do this before plugging it in, it doesn't matter). On your computer, load PdaNet, and select Connect Internet (USB). If everything has been set up correctly, it should say "Connected", and you can now use your phone's internet on your computer.

Here's the important part:

If you don't have an Unlimited plan, tethering (via any method) will suck down your data. If you do have an unlimited plan, there's an option in PdaNet's settings (on your computer) to "Hide Tether Usage". This uses a proxy or VPN (not sure which) to fool your provider into thinking you're on your phone, and not on your computer. This works for me, with my phone, on T-Mobile. No guarantees that this will work with other phones, or other providers. Try the free version first, monitor your data usage (use your provider's account app, not the built-in Android one), and see if it works for you.

As for the virtual wifi network, there are a couple ways to do this. The PdaNet program for your computer actually has this built into it. Once you're connected, select the "WiFi Share" option, and it'll set up a wi-fi network that you (and others) can use on other devices, like other phones, tablets, computers smart-TVs, etc. Obviously, the computer you're tethered to needs to have wi-fi capability for this to work. But as long as you have a wi-fi modem, it can be turned into a wi-fi router with this option. It's not as strong as a real wi-fi router, but you don't have to buy and network a different piece of equipment either.

There are also stand-alone virtual wi-fi router programs. The one I've used mainly is Virtual Router Manager beta 0.9. A while ago, I tried a newer, non-beta version, but it was extremely unstable, so I went back to the 0.9 beta. I haven't tried any newer version in quite some time. I used this when I had proper internet (cable) in my apartment, but wanted to use wi-fi instead of my phone's data to do downloads or updates on my phone.

Neither the Virtual Router Manager or the WiFi Share option on PdaNet are 100% stable. Every once in a while, something glitches out, and I have to reboot my computer (I usually reboot my phone at the same time, just to be sure). But hey, apart from the $8 for PdaNet+, I get unlimited mobile and home internet for $80/month, so I can't complain.

To recap, I have my phone USB tethered to my laptop (which is plugged into a 42" HDTV) via PdaNet+. I use a virtual wi-fi router option to give wi-fi to my tablet. One internet connection, 3 devices connected.

My problem is that, even though I own a laptop, it practically never goes with my anywhere. It sits on a cooling pad, plugged into 2 external HDDs and my 42" HDTV, and I sit at my couch with a wireless mouse/keyboard. But when I'm away from my apartment, and I have my tablet, there's certain things I can't do on the tablet connected via PdaNet and Bluetooth, because it doesn't have a wi-fi connection, and these certain apps don't detect a network connection.