Suppose you are writing a pre -event plugin in which you compare to old and new values and on certain condition would like to cancel the Save or Update and stop the execution, it was simple in CRM 3 with an Abort() method while in CRM 4, you have to manually raise and throw a Invalid-Plugin-Exception, while this gives a dirty error message on your MSCRM screen, you can make it better by entering you own Message explaining why the record could not be saved: throw new InvalidPluginExecutionException("Execution has been stopped due to this reason");
This blog is about a software product called Dynamics CRM by Microsoft, where as CRM stands for Customer Relationship Management.