I think the best way to delimit an app is roughly equivalent to the way you delimit a class on an Objected Oriented Programming Language. Instead of variables and methods, you think of models and views respectively:
models are the state of the object, views are used to see and interact with the state of the object.
My rule of thumb is, does creating an app help to encapsulate a specific set of models? If that is the case, then I try to create it.