So from what I can tell...
If you do a DELETE that causes a CASCADE and a RESTRICT/NO ACTION to be fired...
In the case of RESTRICT it will fail if there are rows in the child table.
In the case of NO ACTION it will fail if there are rows that the CASCADE can't take care of in the child table.
An almost ridiculously subtle difference...