Currently it's illegal to spear sharks in Florida, but it is legal in other states and countries. I believe it should be legal for a few reasons; it allows the spearfisher to defend his catch without the moral hindrance of the shark going to waste if it's been killed. Sharks are good to eat and have a lot of yield. Spearing sharks will take pressure off other species as one shark has more meat than many other harvested fish put together. Most importantly it allows a diver to confront a shark with a predatory mindset which puts the diver at less of a risk than if he were to react defensively.
Here's some interesting shark spearing footage.