2 added 1644 characters in body

I hate to ruin such a nice terse answer, but I might as well describe how I think of the tangent and cotangent bundles. I have a personal prejudice for using only freshman calculus and basic linear algebra as much as possible and avoiding multivariable calculus. So here's the way I see things:

The idea is to build everything using only linear algebra and the definition of the derivative of a real-valued function of one real variable.

So for me you have to first define the tangent bundle as the set of all possible velocity vectors of parameterized curves in the given manifold. The first observation is that if you fix a point in the manifold, the set of all possible velocity vectors based at that point has a natural vector space structure.

Next, given a real-valued function on a manifold, you want to define its derivative. Well, if all you have is the 1-variable derivative, then the only thing you can do is to compose the function with a parameterized curve. Then you observe the following: The value of the derivative at a point actually depends only on the velocity vector of the curve at that point and is a linear function of the velocity vector. Therefore, the set of all possible derivatives of a real-valued function is naturally dual to the tangent bundle (viewed as the set of all possible velocity vectors). That's the cotangent bundle (the set of all possible derivatives of real-valued functions on the manifold).

This for me is a nice coherent story that I can tell (and remember) without using any mathematical symbols at all but also one whose details can be fleshed out in a straightforward manner.

1

Neither is more canonical than the other. The tangent bundle of $M$ represents the set of all possible derivatives of maps $R \rightarrow M$, and the cotangent bundle of $M$ represents the set of all possible derivatives of maps $M \rightarrow R$. They are dual to each other.