There is a problem with device ordering that is a pain in the rear for Linux stuff. Basicly it's first come first serve.
I have a joystick, Wacom pad, mouse, keyboard, and often camera all attatched to my linux box via a USB hub. With the modern event driven interface I can set all of that to work just fine.
/dev/event0 -- keyboard
/dev/event1 -- mouse
/dev/event2 -- joystick1
/dev/event3 -- joystick2
/dev/event4 -- joystick3 (joystick has 3 different digital thingies. throttle, up and down, left and right)
/dev/event5 -- wacom pad
This is fairly nice because it makes it easy to setup things for a whole host of devices. You have a generic interface that just dumps output to the file and then it's a simple thing to make a driver for it.
Now the only problem that happens is the numbering depends on the order that devices are detected, if I change the kernel or I don't happen to have a device plugged in at bootup sometimes the order of the numbers can change.
So all of a sudden my waccom tablet would completely fail to function, and I would have to edit /etc/X11/XF86Config to change the numbers around and restart X.
Now that's annoying, but it's not terrible. That's with Debian.
With Fedora Core2 I had a worse time becuase I had two network interfaces and if I had my PCMCIA card plugged in at bootup it would become eth0 and the on-board ethernet would become eth1. If I had waited till after bootup to plug in my PCMCIA card, then it would end up being eth1 and my on-board ethernet would be eth0.
Of course you can imagine how this would play havoc with setting up multiple networks for my wireless needs. Eventually I just disregarded the fedora stuff and used my own scripts. Fedora Core 3, now everything works fine.
Now another example of the problem is say if you had a 6 different printers setup thru USB that are used by different people in the office. Now you install a new kernel or don't have one of the printers turned on at boot time, then all your printers names have moved around.
Of course they are working on fixing this with various features and capabilities that udev, sysfs, dbus and HAL bring to the OS. Udev sets up a dynamic naming and numbering system for devices in a consistant and sane manner, sysfs exposes kernel interfaces in a well ordered and usefull way (for example it's now possible to write USB drivers that exist in userspace for simplier devices), HAL provides a abstraction layer for hardware and when that is combined with dbus it provides a framework that can be used to allow a user's programs to react and notify the user of configurations and such.
Fedora core3 incorporates beginning parts of hal and dbus... For instance now with my laptop using my camera is easy as cake. I plug it in, turn it on. Immediately I get a desktop notification that the OS has detected a USB Camera has been inserted, and it asks me if I want to sync my pictures with the pictures I already have on my computer. Pretty slick stuff.