fihart is dead on about the problems, and that is because you need a "crossover" cable to connect two like devices. The same thing applies to networking and it is a very easy concept.
USB has 4 pins(usb 3 has more) 1 is power and 4 is ground, but 2 and 3 are for data. I believe 2 is send and 3 is receive, now if you take a standard usb and connect 2 computer, one computer will send data down pin 2 at the same time, therefore, no data is coming in on the 3rd pin and the other computer is not receiving any data( there is just lots of collisions on pin 2). When a cable is a "crossover" the send and receive pins are swapped, and in the case of usb, pin 2 on one end comes out on pin 3 on the other end of the cable. This way when one computer sends data down pin 2, it is received on the other end of the cable on pin 3( the receive pin) and the data gets to the other computer.
Not sure how good I explained it, but just do some googling on crossover cables and you will probably find a better explanation.
But yes you can connect 2 computers directly with just a USB cable(crossover though). You can also use a crossover ethernet cable, which would be much easier to find.