Man what subject you open!
yes, USB is very complicated.
Basically, depending on what you want to do, you will need also the appropriate drivers for this. If you google around you will find that USB has two different categories. The HID and the rest. The HID are Human Interface Devices like keyboard mouse etc. For these you do not really need any drivers for the computer but you will need to write a hell of a program for your processor, because you can only use USB using a processor.
Actually, there is a ready made routine for HID USB but i have never test it. I strongly strongly suggest that you buy a ready made USB interface that you can have some inputs and outputs. You can find some if you visit futurlec (.com).