I think it simplifies things, so that for a child :nodes, rabl views can extend one of 3 views rather extending a view with fields or having to manually write attributes :field1, :field2, etc.  If the 'show' view contains relationships, we wouldn't want to include the full 'show' view in the response.  For example

api/hostgroups/123 may show all the puppet classes for the hostgroup.   However, api/hosts/123 may want to show the hostgroup name only (extend base.json.rabl) or more fields (extend main.json.rabl) but probably wont want to extend show.json.rabl and get all the child node information for the hostgroup, but my api call was for show host.

In the future, I want to have customized/partial responses.  Rather than a having a free-for-all of fields=field1,field2,field3, I thought to start by adding the option to fields=all, fields=main, or fields=small/base/etc.  This should cover most people.