On a wreck in fresh water.... NEARLY NEVER. If I catch a diver with a wreck artifact from a Great Lakes wreck inside a preserve, I may give him/ her a chance to put it back. More than likely, I would turn him/her into the cops and give him a chance to explain his felony to them. Most divers up here tend to share that philosophy. We like our wrecks up here. You dive them, you darn well better respect them and leave them the way that you found them. I, only my opinion, do make exceptions in my mind for some artifacts that are intended for display at a museum as long as this is kept to a minimum.
On a salt water wreck.... the rules are a little different for the reasons of corrosion. Sometimes, it is ethical to "collect artifacts" as most of the wrecks will be in bad shape in a short time. The wreck divers on the East Coast regularly collect artifacts, and due to the corrosion issues, most people that I know of have no ethical problems with that.
On the bottom of your local lake.... this fun time, take a goodie bag and clean it up! I have collected anchors, cans, you name it...
This stuff is litter anyways. There are some cabin cruisers, jeeps, etc. that you would need to do major commercial work to lift, but aside from that have full rights to take whatever you find within common sense. For instance, if I found dive gear, I might make *some* attempt to discern the owner prior to keeping it. A wedding ring or other valuable, I would make a serious attempt to find an owner, including newspaper ads for a couple of weeks if necessary.
In other words, use your common sense and have fun. Just leave the other divers with the ability to do the same and do your best to PRESERVE OUR WRECKS!