I read something about address zero EP zero and wondered how different devices could tell to which the message is meant.
Should I see address zero as broadcast?
Address zero is just another address. Its not a broadcast address, there is no broadcast address in USB. As I said, only one device ever has address zero at one time, and the controller driver has to ensure this is true, or things fall apart. Address zero is a transitory state, or should be.
How about device control messages? Do they go to device address + EP zero?
A device only worries about transactions addressed to it. So only transactions addressed to the device concern the device, so saying "device address + EP zero" seems like putting the wrong emphasis on things.
Control messages are usually sent to the device's default (control) endpoint. Ie the device's address, plus endpoint zero.
If. then why some devices only use one interrupt IN EP?
I don't see what you're getting at. Every device also has the default endpoint. Control messages are sent to the default endpoint. The interrupt endpoint is concerned with data for the device's actual function. A typical example would be a mouse. The interrupt endpoint sends coordinate data when available.
Where are the control requests sent? Which address/EP?
To the defult (control) endpoint, where else? As mentioned, every device has a default endpoint.
I understand that without HUBs it's one controller per bus = one connector = one device.
Every controller has a built in root hub. The root hub is not a physical hub, but a notional hub, to hang the controller's ports on. A root hub can have almost any number of ports. So a controller can have almost any number of ports. Though with the usual controller standards, the number of ports is limited by the width of status registers.
And gadgets with multiple devices have internal HUBs (in principle)?
Devices with multiple functions can be implemented as a hub with multiple devices, called compound devices (a multifunction printer/scanner would typically be a compound device). Or they can be implemented as one device with multiple interfaces, called composite devices. To confuse matters, most devices are composite devices with one interface.