Two complex topological vector spaces $X$ and $Y$ are said to be in duality if there is a sesquilinear map
$$b:X\times Y\to \mathbb{C}\; .$$
The idea is that, given such map, a dual action of $X$ on $Y$ and viceversa is defined: for any $x\in X$,
$$b(x,\cdot): Y\to \mathbb{C}$$
is a linear functional.
There are two natural spaces in duality with a given topological vector space $X$. One is the space of all linear functionals, called the algebraic dual $X^*$; the other is the space of all continuous (w.r.t. the topology on $X$) functionals, called the continuous dual $X'$.
The continuous dual has some special properties, and it is often easy to characterize explicitly, given the space $X$. For example, if $X$ is a Banach space, then also on the dual there is a complete norm "inherited" from the one on the original space. The Lebesgue space $L^p$, for example, has the Lebesgue space $L^{\frac{p}{p-1}}$ as continuous dual, provided $1\leq p<\infty$.
For Hilbert spaces $\mathscr{H}$, the continuous dual has an even nicer property: it is the space itself. In fact, the inner product is a sesquilinear form, that makes the Hilbert space in duality with itself. In addition, given $\psi\in \mathscr{H}$,
$$\langle \psi,\cdot\rangle: \mathscr{H}\to \mathbb{C}$$
is continuous. Therefore, $\mathscr{H}\subseteq \mathscr{H}'$ (with the suitable identification of the ket $\psi$ with the bra $\langle \psi, \cdot\rangle$).
On the other hand, as proved in the Riesz's representation theorem cited in the comments, the converse is also true: $\mathscr{H}'\subseteq \mathscr{H}$, that is every continuous linear functional can be written as the bra of a given vector in the space.
Therefore, $\mathscr{H}=\mathscr{H}'$. The algebraic dual, on the other hand, is bigger and there are thus functionals that are not continuous and cannot be written as the bra of an element in the Hilbert space.