To understand how Maya ASCII files work, you need to have some understanding of the way data is organized in Maya.
All the information in a scene is stored internally in nodes. A node is simply a block of data with a name. Different kinds of nodes have different kinds of data; the individual pieces of data are referred to as attributes of the node. All nodes of the same type have the same set of attributes. A node may also have additional "dynamic" attributes unique to itself.
Nodes in Maya are connected by two mechanisms. The first is parenting, which is used to group related geometry together. When a parent node is moved, all of its child nodes move with it. Only those nodes which represent geometry (such as curves and surfaces) and nodes that group these together (such as transforms) can be connected by parenting.
For example, a NURBS sphere in Maya may be represented by two nodes. One of these nodes, named "nurbsSphere1", is a type of node called "transform". Its attributes have information about its size and position, such as translation, scaling, and rotation. The other node, named "nurbsSphereShape1", contains information about the shape of the sphere, such as the exact positions of all of its control points. The transform node is the parent of the other node, so that you can move the sphere by setting the attributes of the transform.
The other mechanism that connects nodes together is called attribute connections. Any attribute of any node can be connected to any other, as long as the data types are compatible. When attributes are connected, changing the value of the source attribute will change the value of the destination attribute.
There are hundreds of different kinds of nodes in Maya, and more types can be added using plug-ins. Using these simple building blocks, Maya can represent elaborate models and animations.
For a complete description of all the different kinds of nodes that exist in Maya, and their attributes, see the DG Node Reference listings (on-line only).