Yeah, forget about the parallel port. It's all well and good if your PC already has one, and you're designing something specifically for that PC, but to develop something new using a parallel port is mad. $10 for a parallel port PCI.. that will have to be put in any PC your project uses, plus the legacy back end... plus the big, thick cable that goes with it... and the large 25-pin connector.. ugh.
As you mentioned FTDI the FT232RL has been the staple of many 'microcontroller' projects for years, but there are viable alternatives that work just as well. Microchips MCP2200 has already been mentioned and the CP2102-based modules can be had for a few $$ on ebay or amazon. Avoid 'prolific' chipsets (PL2303hx) because their drivers started to get funky and unreliable about 8 years ago.
Both the above are surface mount devices, but as mentioned, simple modules that just have a USB-mini B anda few pins (Tx, Rx, _5V, GND etc..) are fairly cheap and totally worth it for convenience of development.
For through-hole devices, and if you wanted to get your hands dirty with micros, whilst it may seem a huge task, using a USB-capable micro isn't that difficult. Both microchip and atmel have example software that you can flash into one of their devices - application notes will mention particular devices, but the PIC16F1455 (microchip) and ATmega16U2 (Atmel) spring to mind. Ultimately, you can just flash these micro's with an example project from either of the vendors IDE software and have a working stand-alone USB-UART bridge. You can then use other micro's with their UART's to communicate with the PC.
Or of course, you can modify those example projects, so instead of the micro's UART getting, and transmitting data on the USB, you can deal with the data directly. This is what I did for several projects - use microchips USB-serial bridge example code, but add in a few lines of code to read from the ADC, or control PWM. As far as the PC is concerned, its still a 'serial port', because the USB device enumerates itself as such, so the PC side of things is easy... you send some bytes from a buffer in your PC code, and its sent to the buffer in your micro, and visa versa. What you do with those bytes is up to you.
10 years ago, it was a bit of an effort to get native USB support into a project (for hobbyists) so the FT232RL became very popular. These days, with the PIC16F1455 being about $2 and other small micro's with USB capability, its cheaper, more fun, and better experience to use these - plus you avoid the 'heated' debate over FTDI's dubious practice of dealing with fake devices.