Martin Fowler suggests using a service layer as a boundary between the domain model and and "Data Loaders". However, Rockford Lhotka suggests building validation into the business object itself and this is exactly what CSLA.NET does.
The benefits of abstracting this into a service layer is obviously that your service layer can coordinate the activity/operation across multiple business objects. But what are the other advantages and disadvantages of using a service layer over directly using business objects for business logic and validation?