I think the disadvantages are mentioned. I do not think however that you can or should dismiss dialogues at all.
Inline editing / creation (as one would in Excel) is useful for typing in lots of records fast, or editing very specific values.
But it might not be the best when you need to save a more detailed record than is shown in your table listing.
Say, it displays a person's name, addres, date of birth. When entering a new record however, you may wish to also include social security, place of birth, relationships to parents, judicial status or a whole range of other options.
Dialogues can also help with easier ui, providing dropdownboxes for linked information, providing feedback, putting in datepickers or other ui elements. Most of those can't be put in inline editing without crowding the UI severely.
Separating the action of saving the information from data entry is not just a burden, it can also be helpful to provide a structured moment of review: did I fill out everything, is it ok now? I very much like that option when ordering something online for example, you can gather and fill out the information step by step, and then there is a clear moment of decision before it is actually completed.
So I do think it depends on the context: the number of fields, the type of information provided, the structure in which information is gathered.
I would not advise to avoid dialogues in general: just think of where they are suited and where they aren't.
As for modal or not, non-modal can make it confusing (because the dialogue can hide behind others and gets lost or forgotten), modal can make it irritating (because you can't do anything besides what you are doing.)
Usually, modal dialogues aren't the best way to go, but once again, use them where fitted rather than blindly avoiding them.
With screens getting larger, it might be an option to place the dialogue (or detailed view) alongside the table overview. Then again, with the increase of smartphones also lots of screens get smaller, and there dialogues are even more important because editing a table when you only see a few cells at the time just doesn't work very well.