1. custom methods let you get/put specific fields, without having to transfer the whole thing or split resources up as you add new methods.
2. custom methods avoid needing to implement complex or heavy state mutations on the client. the example was rotating an image 90 degrees; you wouldn't want to download an entire full-res image to your wimpy battery-powered phone, rotate it, and re-upload it when you can just do that on the server.
(... of course this should just update some orientation metadata instead of resampling the image -- it's just an example)
GET /resources/picture/orientation => 0
PUT /resources/picture/orientation?value=90
REST is not so much about a simple API, but a scalable service. Custom verbs break scalability.Google created GData2 as an extension to AtomPub format, which only specifies a common envelope for resources (Atom Syndication Format) and how to talk about collections of resources (AtomPub itself).
There is another notable extension to AtomPub format from Microsoft called OData.