I am reading Guillemin and Pollack's Differential Topology Page 163:
If $f: X \to Y$ is a smooth map and $\omega$ is a $p$-form on $Y$, define a $p$-form $f^*\omega$ on $X$ as follows: $$f^*\omega(x) = (df_x)^*\omega[f(x)].$$
Why it uses a pullback to define the pullback?
What $\omega[f(x)]$ really mean?
Learning from answers below and more readings on the book, here's a fun expository about how I am trying to build my exterior algebra from definitions given in the book.
We use the pull-back in linear space on the right hand side to define the pull-back on the manifold, on the left hand side. To understand the linear space on the right, first note:
The collection of all $p$-tensors is a vector space $\mathcal{J}^p(V^*)$. (Page 154)
Then we see
The alternating $p$-tensors form a vector subspace $\Lambda^p(V^*)$ of $\mathcal{J}^p(V^*)$. (Page 156)
One more key-ingredient:
Suppose $A: V \to W$ is a linear map. Then the transpose map $A^*: W^* \to V^*$ extends to the exterior algebras, $A^*: \Lambda^p(W^*) \to \Lambda^p(V^*)$ for all $p>0$. If $T \in \Lambda^p(W^*)$, just define $A^* T \in \Lambda^p(V^*)$ by $$A^*T(v_1, \dots, v_p) = T(Av_1, \dots, Av_p)$$ for all vectors $v_1, \dots, v_p \in V$. (Page 159)
Now we get everything we need, back to the question, the meaning of left hand side $(df_x)^*w[f(x)].$ The last definition below, gives us the connection:
Definition. Let $X$ be a smooth manifold with or without boundary, A $p$-form on $X$ is a function $\omega$ that assigns to each point $x \in X$ an alternating $p$-tensor $\omega(x)$ on the tangent space of $X$ at $x$; $\omega(x) \in \Lambda^p[T_x(X)^*].$ (Page 162)
Now everything unraveled.
Given $df_x: T_x(X) \to T_y(Y)$, we see $df_x$ as the linear map $A$ in definition on Page 159. Hence $V$ is $T_x(X)$ and $W$ is $T_y(Y)$. Then we obtain the transpose map $(df_x)^*: \Lambda^p[T_y(Y)]^* \to \Lambda^p[T_x(X)]^*$ for all $p>0$.
Furthermore, from Page 162, we see know $\omega$ is an alternating $p$-tensor, which is an element of $\Lambda^p(V^*)$ as the definition on Page 156. Note $\Lambda^p(V^*)$ is just $\Lambda^p(T_x(X)^*)$ as stated in the precede paragraph. But here calls the special attention: $\omega$ is not $T$. Because $\omega$ is in $\Lambda^p [T_x(X)^*]$ as the definition on Page 162, but $T$ is $\Lambda^p(W^*)$, which corresponds to $\Lambda^p [T_y(Y)^*]$.
Fortunately, we have $A^*: \Lambda^p(W^*) \to \Lambda^p (V^*)$, that in our question, is $df_x^*: \Lambda^p[T_y(Y)^*] \to \Lambda^p [T_x(X)^*]$. So now it is clear that $\omega$ is $(df_x)^*T$.
If $T \in \Lambda^p(T_y(Y)^*)$, just define $(df_x)^* T \in \Lambda^p(T_x(X)^*)$ by $$(df_x)^*T(v_1, \dots, v_p) = T(df_x (v_1), \dots, df_x (v_p))$$ for all vectors $v_1, \dots, v_p \in T_x(X)$.
Basic linear algebra tells us $$(df_x)^*T(v_1, \dots, v_p) = T \circ df_x (v_1, \dots, v_p)$$
From definition on Page 159, we know $A$ takes vectors in $V$ to $W$, and therefore $T$ takes the result of $A$, that is $W$. Hence in our case, $df_x$ takes vectors in $T_x(X)$ to $T_y(Y)$. Hence $T$ takes $T_y(Y)$, which is exactly $df_x (v_1, \dots, v_p)$!
All above is in the effort of making sense of $(df_x)^*\omega[f(x)].$ Now I have shown $(df_x)^*T(v_1, \dots, v_p) = T \circ df_x (v_1, \dots, v_p)$ and $\omega$ is $(df_x)^*T$. But still, there is a missing piece out there connects $\omega[f(x)]$ with these.
It seems the answer of $f: X \to Y$ is a smooth map and $\omega$ is a $p$-form on $Y$, what is $\omega[f(x)]$? mend the missing piece: $\omega$ is defined to be $$\omega_\alpha(y) = \alpha(y)dx^{i_1}\wedge\ldots\wedge dx^{i_p}.$$
Hence $$\omega[f(x)] = (\alpha\circ f)(x)dx^{i_1}\wedge\ldots\wedge dx^{i_p}.$$
Therefore, $$f^*\omega(x) = (df_x)^*\omega[f(x)] = (df_x)^*[(\alpha\circ f)(x)dx^{i_1}\wedge\ldots\wedge dx^{i_p}].$$
I think I understand your trouble. The issue is just notation. Let's look at a few examples to sort it out. Let $\omega$ be a one-form and $f: M \rightarrow N$ a function if $v \in T_xM$ then we define: (first no $v$ ) $$ (f^* \omega)_x = (df_x)^*(\omega[f(x)]) $$ But, by definition of linear algebraic pull-back(page 159), this actually means $(df_x)^*(\omega[f(x)]) = \omega[f(x)] \circ df_x$. For this reason, I write: $$ (f^* \omega)_x(v) = (\omega[f(x)])(df_x(v)). $$ This makes sense as $df_x$ pushes the vector $v \in T_xM$ over to the vector $df_x(v) \in T_{f(x)}N$.
The use of the pull-back notation is more slick when we consider something trickier such as a $p$-form $\beta$ on $M$. Again, the definition you want to make primary, says: $$ (f^* \beta)_x = (df_x)^*(\beta[f(x)]) $$ Again, this should be understood in terms of the 159 definition. When we get into the details, this actually indicates for a $p$-tuple of vectors $v_1,\dots v_p \in T_xM$ the value for $(f^* \beta)_x$ is given by: $$ (f^* \beta)_x(v_1,\dots,v_p) = \beta[f(x)]((df_x(v_1),\dots,df_x(v_p))$$
Returning to the one-form discussion once again. Sometimes, when I do a calculation, or write an answer here, I'll omit the $[f(x)]$ on $\beta[f(x)]$ or write $\beta_{f(x)}$. Worse (or better, you pick) many people write $$ df_x(v) = (f_{*})(v) $$ In that notation, $(f^*\omega)_x=f_{*}(\omega[f(x)])$ However, I prefer to keep closer to my notational roots with the Frechet derivative which is at the base of all these concepts anyway. It seems $*$ notation tends to confuse people, so I'd rather avoid it if I can. Finally, to answer your question, the pull-back $*$ on the right-hand-side simply means function composition. Honestly, I think most of it is just that they don't want to bother explaining how the mapping works on vectors. If they told you that all the ambiguity vanishes.
Concerning the difference between the pull-back of a vector field (page 134 of Guillemin and Pollack) and the pull-back of a differential form (page of 163 Guillemin and Pollack). Let us begin with the vector field pull-back. Notice there is no certainty that if $X$ is a vector field on $M$ then $df(X)$ is a vector field on $N$. The function $f$ could fail to be injective hence $f(x_1)=f(x_2)$ for $x_1 \neq x_2$ and so the push-forward would produce two different vectors at $f(x_1)$. We can only have one vector at each point for a vector field. Now, this trouble goes away if $f$ is a diffeomorphism, in that case we can suppose $df(X)$ is a vector field on $N$. Moreover, if $Y$ is a vector field on $N$ then naturally the push-forward under $f^{-1}$ is a vector field on $M$; $df^{-1}(Y) \in \Gamma (TM)$. This precisely what is meant by the "pull-back" of a vector field on $N$; it is the push-forward by $f^{-1}$. We can't do much else with vector fields.
This situation with forms is different. For differential forms the pull-back is well-defined even if the function is not injective. That said, the formula on page 163 concerns pulling back a form (not a vector field). Again, $$ f^* \omega (x) = (df_x)^*\omega[f(x)] $$ Let's analyze this again, $df_x$ is a $N$-vector-valued function of $T_xM$ and $\omega[f(x)]$ is a $p$-form at $f(x)$. The meaning of this pull-back is essentially $p$-fold composition with $\omega[f(x)]$. In the $p=1$ case it's just plain composition. I suppose the point of contrast here is that $df_x$ is not a vector field so no direct comparison between these formulas is warranted.
Ok, so why are these both called "pull-backs? The answer is just that with respect to the mapping $f$ both of these operations allow us to take geometric objects in the range and find corresponding geometric objects in the domain. The formulas which are given here are natural and people who think in the clouds could collapse this whole post with some categorical language to a line or two. The definitions are given because no other definitions could naturally be written. That said, the interpretation in terms of substitution is very satisfying for more concrete beings like myself. For example, see my intuition on push-forwards and pull-backs in multivariate calculus
Added 8-2-2013: Suppose $f: M \rightarrow N$ is a function once more. Also, suppose $g: N \rightarrow \mathbb{R}$ is a function. We can pull-back $g \in C^{\infty}(f(p))$ to $f^*g \in C^{\infty}(p)$. How? It's function composition: $$ f^*g = g \circ f $$ Technically, $df_x$ is a map from $T_xM$ to $T_{f(x)}N$. On the other hand, for $p=1$, $\omega[f(x)]$ is a covector, it maps $T_{f(x)}N$ to $\mathbb{R}$. Does the composition of $df_x$ with $\omega[f(x)]$ make sense? Yes, I think so, not to beat a dead horse, but: $$ \omega[f(x)] \circ df_x: T_xM \rightarrow T_{f(x)}N \rightarrow \mathbb{R} $$ so yes, $\omega[f(x)] \circ df_x$ is a covector on $M$. Consider, $p=2$ this breaks down in terms of a literal composition. Why? The $\omega[f(x)]$ now takes in a pair of vectors from $T_{f(x)}N$ to return a real number. However, $df_x$ just gives us one input by its lonesome. So, to get a pair of inputs, we need two copies of $df_x$. This is precisely what the definition on 159 says to do. Hope this clears it up.