I have a Pi 3B (not 3B+) which had been working fine for about a month. It was remote and running headless, connected via ethernet jack and powered via external 48V->12V PoE module with a separate 12V -> 5V DC-DC converter. (I have made many such systems in the past, without issue.) I did "sudo halt" to stop the processor, waited some minutes, and then disconnected the external +48V PoE cable from the whole assembly. After plugging it back in, the computer booted as before but it remained offline. I retrieved it and subsequent testing shows that wifi works normally, but the ethernet port does not. Ethernet attempts to come up, but never receives any packets. I tried different ethernet cables, different USB power cables, different 5V power supplies, and a different known-good microSD card with different Raspbian install, but the symptom always remains the same. The yellow and green LEDs on the Pi's ethernet port are lit, but 'ifconfig' shows no data packets are ever received on eth0. Interestingly, if I remove the ethernet cable from the Pi's port, both yellow and green LEDs on the jack remain lit up. I don't recall seeing this "lights are on but nobody's home" situation before.
This particular pi was built into a case with permanently attached heatsinks etc. so replacing it is more involved than simply swapping the board. Any thoughts about what happened here, and how to avoid it in future?
EDIT: One relevant fact may be I used epoxy to make sure the two heatsinks (CPU and Ethernet chip) stayed in place, and the epoxy flowed around the base of the chips also. As I said this all worked fine for about a month, but apparently my luck ran out when I power-cycled it. The pi was located in a small, otherwise-unheated enclosure outdoors with ambient near freezing; maybe it was the thermal contraction-expansion cycle that pulled a solder joint on one or more ethernet chip pins.