<p>From what I understand, the parent attribute of a db.Model (typically defined/passed in the constructor call) allows you to define hierarchies in your data models. As a result, this increases the size of the entity group. However, it's not very clear to me why we would want to do that. Is this strictly for ACID compliance? I would like to see scenarios where each is best suited or more appropriate.</p>

The only purpose of entity groups (defined by the parent attribute) is to enable transactions among different entities. If you don't need the transactions, don't use the entity group relationships.
I suggest you re-reading the
Keys and Entity Groups
section of the docs, it took me quite a few reads to grasp the idea.
Also watch these talks, among other things they discuss transactions and entity groups:
Building Scalable Web Applications with Google App Engine
Under the Covers of the Google App Engine Datastore