Each line of processors are unique so there is no general rule regarding differences. Notwithstanding the aforementioned, many; I would venture to say most, current and prior Xeon and corresponding non-Xeon CPUs are physically identical in almost every way. Most differences advertised to the public are features that can be turned on or off either at the factory on the CPU or within the chipset/bios of the motherboard.
If one were to generalize and apply a rule to all Xeon vs. non-Xeon CPUs, the most fitting would be that Xeon CPUs play nice with others. Most (not all) Xeon CPUs allow for multiple-socket configurations (more than one CPU per motherboard) while the retail counterpart traditionally does not. The only other broadly applied nuance would be ecc vs. non-ecc RAM. Generally, Xeon CPUs play nice with ECC RAM while their non-Xeon counterparts do not.
In both cases (multiple socket configurations as well as ECC RAM), these settings are predominantly controlled at the BIOS (flashed software to the motherboard, nothing to do with hardware or the CPU) and motherboard chipset rather than within the physical CPU. At the same time, many Xeon CPUs have more robust physical build materials and/or testing/quality control requirements. That said, many non-Xeon CPUs are simply CPUs that came off the Xeon dies and didn't make the QC cut and are subsequently "tuned down" to conform to the requirements of a lower model/class CPU.
An i7 CPU could have come from a Xeon production line and it simply did not make the clock frequency or hyper-threading QC tests. In an instance such as the aforementioned, the "Xeon" CPU would then be given an i7 serial number and settings at the factory. From that point forward the serial number (and enabled/disabled settings) would only be recognized or compatible with certain motherboards, chipsets, BIOS firmware, memory types, etc. It would essentially be a modified or "de-tuned" Xeon CPU that was re-branded as an i7.