The problem is that REST only makes sense when your UI is all about data entry. Sure, it's great there. You update things, you create things, you delete things, you replace things. Wonderful stuff.
But as soon as your application steps beyond that, you're sunk. The user of a web application only rarely interacts directly with resources. Individual forms can be linked to multiple database objects or none.
What REST can't handle is any level abstraction between CRUD and UI.
REST doesn't tell you what to do with the information after it's created or updated. Everything you might want to do through a web interface can pass to the server through the narrow funnel of CRUD.
It might seem that an exception to that would be to initiate some action off the server: send a fax, send some emails... but you can also look at these instances as changing the state on the server such that such action is requested. It's then up to another process on the server to respond to the changes and update the state on the server to show the results of that action.
Oh, I agree with the exception statement. That sort of shoe-horning is exactly what goes on when you REST up a rich web-app. But how does it simplify anything?
But as soon as your application steps beyond that, you're sunk. The user of a web application only rarely interacts directly with resources. Individual forms can be linked to multiple database objects or none.
What REST can't handle is any level abstraction between CRUD and UI.