Then there's the "'cuz that's the way Steve coded it up" answer
IIRC, for a while they were hidden when not on sensors, but there were a lot of problems with re-finding wrecks of ships you'd destroyed - you had to remember to place a waypoint, otherwise it was needle-in-haystack time. I think Steve didn't want to take the time to put a flag in for each race to distinguish located wrecks from non-located wrecks (and code up all the stuff to check sensors), so he just left them all visible.
John
You used to have to detect them. I changed it for fun vs realism reasons and also for performance reasons. In terms of realism, you would have to detect them using active sensors and that is pretty hard, especially for the smaller wrecks. It would be tedious to try scanning every system for wrecks. In performance terms, the game only checks sensors in systems where there is something to detect. If wrecks need to be detected, that adds a a sensor check for every sub-pulse in every system where there is a wreck but nothing else to detect. Also, as John mentioned, I have to track all the wreck contacts as well. So I decided that every race would leave wreck beacons, both to find the wreckage of their own ships and to warn of a navigational hazard.
Steve