The first option is better for power users, who need to enter a lot of data. You can make it such that they can easily copy-paste a whole bunch of data into the grid.
The second option is easier to use for the "average" user. There is more guidance on what to do from the GUI and due to the modal nature of adding/deleting, it's harder to do something wrong accidentally.
The third option is just convoluted, IMO.