What is a dual / cotangent space? Dual spaces are home to bras in quantum mechanics; cotangent spaces are home to linear maps in the tensor formalism of general relativity. After taking courses in these two subjects, I've still never really understood the physical significance of these "dual spaces," or why they should need to exist. What is a dual / cotangent space? Could someone explain why they are necessary, and what their physical significance is? 
 A: I'd like to add something about dual spaces in relation to quantum mechanics since you mentioned "bras."  You might ask why we need to consider dual spaces in quantum mechanics and how this relates to bras.
Every pure (as opposed to mixed) state of a quantum system can be represented by an element of a Hilbert space $\mathcal H$.  In physics we commonly denote such elements with a symbol like $|\psi\rangle $, a "ket."  Every Hilbert space, by definition, is equipped with an inner product.  Let's use the notation $(\cdot, \cdot)$ for this inner product, so that the inner product of two kets $|\psi\rangle$ and $|\phi\rangle$ is denoted
$$
  (|\psi\rangle, |\phi\rangle)
$$
and is some complex number.  The issue is that this expression looks unwieldy to us physicists, and we might as well abbreviate it in some way, so instead, we define a "bra-ket" as follows:
$$
  \langle \psi|\phi\rangle = (|\psi\rangle, |\phi\rangle).
$$
Much cleaner isn't it?  Ok, but how does this relate to dual spaces?  Well, suppose that given any ket $|\psi\rangle$, we were to define a function $B_{|\psi\rangle}$ on $\mathcal H$ by
$$
  B_{|\psi\rangle}(|\phi\rangle) =   \langle \psi|\phi\rangle
$$
Notice that this function takes in an element of the Hilbert space and outputs a complex number; the value of an inner product.  Moreover, notice that by linearity of the inner product in its second slot, for all $|\psi\rangle, |\phi_1\rangle, |\phi_2\rangle\in\mathcal H$, and for all $a_1,a_2\in\mathbb C$ we have
\begin{align}
  B_{|\psi\rangle}(a_1|\phi_1\rangle + a_2|\phi_2\rangle)
&= \Big(|\psi\rangle,a_1|\phi_1\rangle + a_2|\phi_2\rangle\Big) \\
&= a_1\langle\psi|\phi_1\rangle + a_2\langle\psi|\phi_2\rangle \\
&= a_1 B_{|\psi\rangle}(|\phi_1\rangle) +a_2 B_{|\psi\rangle}(|\phi_2\rangle)
\end{align}
In other words, for each $|\psi\rangle\in\mathcal H$, the function $B_{|\psi\rangle}$ constructed in this way is a dual vector.
In order to shorten the notation again, we physicists simply make the definition
$$
  B_{|\psi\rangle} = \langle\psi|.
$$
and we call this dual vector corresponding to $|\psi\rangle$ the bra of $|\psi\rangle$ since the definition of $B_{|\psi\rangle}$ allows us to write
$$
  \langle{\psi|}(|\phi\rangle) = \langle \psi|\phi\rangle
$$
in which case we see that acting on a ket with a bra gives a "bra-ket" (where "bra-ket" is just another way of saying inner product).
So we see that bras are in fact dual vectors!  Why is this all necessary?  Well, it's not actually.  We could have simply done away with bras and kets altogether, which mathematicians do, and we could have written all expressions in quantum mechanics that we care about with no problems.  In fact, Weinberg's quantum mechanics and quantum field theory texts don't use bra-ket notation, and as you can see for yourself, nothing breaks.
However, most physicists, myself included, feel that bra-ket notation is intuitive and computationally useful, and we can see from the discussion above that a natural way to formalize the notation is in terms of dual spaces and dual vectors, so that's why we introduce them in this context.
A: As you probably know, the Dual Space of a Vector Space $V$ is the space of all linear functions on the space $V$. This is one abstract mathematical concept, however it can give to us very nice ways of representing things on physics.
In the context of differential geometry, the dual space is where the objects called cotangent vectors, or more briefly covectors, live. A function that assigns a linear functional at each point is a one-form, and they are very natural to integrate over paths. Indeed, remember that if $M$ is a smooth manifold (in other words, some general space which can be curved or not) for each point we can think of the set of all vectors. In symbols, if $p \in M$ is a point of this space, $T_pM$ is the set of all vectors at $p$. The dual space to $T_pM$ is the cotangent space $T^\ast_pM$ which is the vector space of linear functionals at $p$.
If then $x^i$ is the $i$-th coordinate assigned by some chart around $p$, the most natural basis for $T^\ast_pM$ is the set of differentials $\left\{dx^i\right\}$. So that we have any one-form $\omega(p) = \omega_i(p) dx^i$.
With all of this in mind, let's see how this allows us to better describe things in physics. Think of a force field, we usually think of forces as vectors because they need direction to be described, however, given a displacement a force gives us the work done to move some particle along the displacement. Well, displacements are really naturally vectors, so we can think of forces as linear functionals on vectors and force fields as one-forms. Think about it, a force field would be then $F(p)=F_i(p)dx^i$ and given a vector at $p$ we would have $F(p)(v)=F_i(p)v^i$ since $dx^i(v)=v^i$. It's obvious that this is giving the work.
Also, remember that I've said that it's natural to integrate one-forms over paths. Imagine $\gamma : I \subset \mathbb{R} \to M$ is path, then the work done moving a particle from the starting point to the end point would be:
$$W=\int_\gamma F$$
Which is very natural. So, we can think of forces as one-forms that given vectors gives us work. If we think on electric field for instance, then we could think of it as the one-form that given vectors gives us the change in electric potential. Also, one-forms are normally thought geometrically as $n-1$ surfaces in $n$-space whose value when integrated along a curve is the number of surfaces pierced. Think a little of how this relate to electric fields and potentials.
In other words: mathematically the element of the dual space is a linear functional and an assignment of one such function at each point is a one-form. This is just general and abstract. You should just think then: in which moments some object used to describe some phenomenon will be well described using such abstract entities? You find forces, fields and so on. After you see the power of those objects in different places you're going to understand that the "meaning" of a dual space really depends on what you're trying to describe.
A: It's difficult to figure out an answer to this fairly mathematical seeming question without reciting the wikipedia article which already explains what it is. If you have functions with an abelian group as codomain (e.g. numbers which can be added), then the function space inherits that propery and becomes an abelian group itself:
$\psi(v)=a,\ \phi(v)=b,\ \text{with}\ \ a+b=b+a,$
$(\psi+\phi)(v):=\psi(v)+\phi(v)\ \ \ \longrightarrow\ \ \ \psi+\phi=\phi+\psi.$
The dual space consists of linear functions from the vector space to numbers. The domain of these functions (the vector space) has stuff like bases and similar to the above argument, the dual space becomes a vector space itself. Beyond this sketch, I see not much point in explaining why dual spaces exist, mathematically. 
If you describe something by some object, then you can consider functions on this object to other objects, mathematically. In model building of physics, you use mathematical structures, sometimes wild kinds of objects, but since experiment is about comparing things with each other, you always need to map these objects to numbers, eventually. Vectors are nice to work with, linear relations are among the simlest ones, and lengths and angles can be expressed via the dual space construction, the linear functionals of the vector space. I think from this stance, it's not surprising they pop up.
There are also nonlinear maps, determiniants or whatever. The total energy of the electric field $\vec E(x)$ is a number associated with a vector, but depends on it in a more complicated way.
