Defining page here as a single route, and the app as all routes combined.
controllers are instantiated every time they're injected into something, through a route or by using ngController. You'll get a new one every time you visit a page so data you're storing on them will perish between page changes.
services are singletons so are instantiated only the first time and then persist throughout the life of the app, which ends when the site itself is refreshed or the user surfs away. Factories are not instantiated so they too can be used for persistent data.
templates are not instances, they're just html that is parsed against scope variables.