Generating finite element/volume grids is tricky, especially when you are dealing with complex coastlines. What are the more common tools to create the grids and to check the quality (e.g., minimum angles, wave propagation constraints) of it?
The simplest is triangle http://www.cs.cmu.edu/~quake/triangle.html which is providing lib form many other more advanced packages. You can create poly file and create "holes/islands" in grid etc. Easy to make simple grids. Another more advanced / gui is xmgredit where you can create/modify grids. Blue kenue etc.. use the force luke, do a google and it will popup many other packages, I just wrote a few which are free and for 2D ocean applications.
My first grid generation was using SMS (http://www.aquaveo.com/software/sms-surface-water-modeling-system-introduction). That software is proprietary and it used to be cumbersome to get it to do what you needed sometimes. It also provides metrics for grid quality.
The tool that I am more familiar with is BatTri. It was developed by Ata Bilgili and Keston Smith and is a graphical Matlab interface to the C language two-dimensional quality grid generator Triangle developed by Jonathan Richard Shewchuk. They explain the code in http://www.sciencedirect.com/science/article/pii/S0098300405001950. They include several quality checks that I have found quite useful.
I have just found this website (http://www.robertschneiders.de/meshgeneration/software.html) that lists a lot of mesh generation software. Most of them I have never heard of or know anything about.