Firmware & Circuit of ATtiny45 direct USB 2.0 Connection
Basically, USB is a high level communication protocol with specific requirements for signal line level driving, timing and terminating. It is not as simple as serial, it has differential data lines and NRZI encoding, required polling, handshaking, etc. That is why you need a USB/Serial adapter, or why you need a USB hardware or software implementation.

While USB uses 5V power, the signal lines are actually 3.3V to 3.6V. This is why the VUSB circuit you show uses zener diodes on those two lines. The Tiny cannot simply run at 3.3V because it cannot be clocked at the needed 16MHz at 3.3V. 

The rest of the parts, R1-R3, D1, D2, and C1, C2 are bare minimum required parts. That is not really asking alot for the features you get. See this page for a list of all the projects that use vusb.

The switch, R4, and LED1 are all part of the specific data logging firmware example, and can be avoided if you don't need it/change the firmware.