You can cascade powered repeaters (aka hubs, possibly with only one port) quite a ways before you run into any problems, but there is a flat distance limit imposed by the speed of light and repeater delays combined with the speed at which USB devices are required to respond at the most basic level to messages sent by the host. I don't remember what it is off the top of my head, but my recollection is that it's fairly long. Something like 100m.
The unrepeated cable length limit is imposed by the cable specs and capacitive loading. It would be possible to make a USB cable capable of going farther than the spec allows while maintaining basic compatibility with the USB physical layer, but in practice most people just use media converters and CAT5. Since this doesn't introduce the timing delay and skew caused by a whole mess of repeaters, you can go quite far before you hit the timing problem described above.
USB really was never designed to go beyond the desk, though. If you need to go beyond about 10-15m, I'd generally recommend some sort of protocol level extender. While the USB spec has very stringent requirements on how fast slaves have to acknowledge receipt of things (bit level timing on the wire), the protocol allows for fairly slack timing of the actual messages that make up data responses. Basically, you can receive some message, and while you have to acknowledge that you got it very quickly, you can take quite some time in preparing your actual response. I know extenders in this flavor are available, and I'm guessing that's what most wireless ones are. It may mess up isochronous mode operation, though, but that's only really used on multimedia devices.