There are two reasons to attempt a landing on the sea vs on land:
- There are no safety requirements to land on sea, at least not beyond the obvious ones of clearing the immediate area. On land, one has to be subject to the laws of the country in which they are attempting the landing, so in other words, the United States FAA.
- Less fuel is required to land at sea. By the time the first stage is dropped, it has considerable horizontal velocity. Landing it at sea will allow one to take advantage of that velocity, while returning it back to where it came from requires one to fight the velocity.
Of course, landing on the sea has plenty of challenges as well, as have been mentioned. Still, no doubt the ability of SpaceX to hit the barge twice in a row is a good indicator that the system is safe enough to attempt and land on land, so long as all of the standard precautions are in effect (Range safety). The latest launch is the first time where it seems it would have been successful on land if that is where it had been attempted. I think they still need to prove out the system a bit more before they are willing to try on land. Remember, the previous attempt hit the mark, but the rocket immediately flew off after hitting the barge, at considerable speed. That would be potentially dangerous on land. I suspect a few more similar level of successes at sea would be sufficient for them to be able to try on land, but I believe it is not yet safe enough to try.
In addition, it seems like it could take quite a bit more fuel. Granted, most of the horizontal velocity will take place in the first part of the flight, but there is a substantial velocity that will have to be negated. I'm sure, however, that they would prefer to land on land given the chance.