most hotshoes are of universal mount, other than that of Minolta. However, the pin contact configurations are different for different systems, that's why you can't cross use dedicated TTL flashes. The biggest contact that lies in the middle is the one that sends the signal to trigger the flash. Other information for TTL are transmitted through the peripheral pins. Nikon flashes have different peripheral pin configuration from Canon's. Moreover, Nikon's uses 3D Matrix TTL while Canon uses E-TTL, the algorithm and implementation are quite different. That is why dedicated flashes cannot be cross-used over different systems.
However, most Nikon flashes come with automatic modes, so you can actually mount them on Canon cameras, and shoot via auto flash, without TTL capability. As long as the centre contact/pin coincide, the flash can be fired.