Many devices are capable of “waking up” the computer, and often I find my computer has decided to wake itself up in the middle of the night because of one of them.
(See also: “Computer wakes up for no reason“)
You can dig through Device Manager to find and disable the “Allow this device to wake the computer” options, but this is tedious and also difficult if you don’t know which device to change. Windows also has this neat “trick” where if you disable wake up on a device, and then plug it into a different USB port, Windows will see it as a *different* device which it then enables wake up for again.