I've replaced my chainrings a couple of times now in 35K miles. Actually, replaced the whole FSA triple set at 18K, then recently replaced just the middle ring at 34K since the 30 and 53 showed little wear. Makes sense as I do most riding on the 39 ring.
The teeth don't actually look "shark-finned", but I replace the rings when I find too much freeplay motion when applying pressure to a pedal. I push lightly on a pedal to take up the tension on the chain, then press harder and watch what happens. If the chainrings are worn excessively, the crankarm will move while the chain stays still under load. Also, the bottom of the chain can be easily pulled away from the chainring, even while keeping tension on the crankarm, meaning only the top quadrant of the teeth are carrying all the load. Repeating this check with a new ring is noticeably different....no play under load, no chain climbing up the teeth, and the chain grips tight to the ring all the way round. The drivetrain is quieter when riding as well.
Believe a lot of riders tend to neglect chainring wear. We all know about cassette wear, and those are steel cogs, not aluminum. We can "get away with" chainrings that are badly worn before they would cause skipping, but I figure the worn ring is putting extra load on the chain because fewer teeth are actually carrying the load. Plus, the "freeplay" as the chain tries to lift off the teeth under load can't be good for efficiency, and I need every watt I can muster to go directly to the rear tire.