A second-countable space is separable (and trivially it is first-countable). However, first-countability plus separability do not imply second-countability; a counterexample is with the half-open topology (see Munkres, page 192), denoted .
An arbitrary product of separable spaces need not be separable, but a product of as many as a continuum number of separable spaces is separable (with the product computed in Top); a proof of the more general Hewitt-Marczewski-Pondiczery theorem can be found here. In particular, the space of all functions under pointwise convergence is separable, but is not even first-countable (and thus not second-countable either). A first-countable space need not be separable; a simple example of that is a discrete space of uncountable cardinality.
Subspaces of separable spaces need not be separable. Example: the product , also called the Sorgenfrey plane?, is separable, but the subspace defined by the equation is uncountable and discrete and therefore not separable. However, open subspaces of separable spaces are separable.
Many results in analysis are easiest for separable spaces. This is particularly true if one wishes to avoid using strong forms of the axiom of choice or to be predicative over the natural numbers. For example, the Hahn-Banach theorem for separable Banach spaces can be established using only mild forms of choice, e.g., dependent choice. More precisely, it can be established in the weak subsystem of second-order arithmetic; see Brown-Simpson.
A classical fact is that metric space is separable if and only if it is second-countable. Similar in spirit but less well-known is the following (whose proof subsumes the aforementioned classical fact).
A metric space is separable iff every open set is a countable union of balls.
One direction is not hard: if is a countable dense subset of and is an enumeration of the rationals, then by playing around with the triangle inequality, one can show that the balls form a countable base ( is a second-countable space), and in particular every open set is a union of a family of such balls that is at most countable.
The other direction is trickier. (This is based on a MathOverflow discussion, which for the moment we record with little adaptation.) Suppose is not separable; construct by recursion a sequence of length such that no lies in the closure of the set of its predecessors (each such set is countable and therefore not dense, so such outside its closure can be found at each stage).
Therefore, for each we may choose a rational radius such that the ball contains no predecessor . There are uncountably many , so some rational radius was used uncountably many times. The collection of for which forms another -sequence which we now use instead of the first; since all the radii are the same, this sequence has the property that each contains no other , no matter whether appears before or after in the sequence.
Provided that there uncountably many such that are non-isolated in , we can construct an open set that is not a countable union of balls. For around each such we can find a point within distance of ; put . Notice that . If is any ball contained in , then for some . Supposing we have distinct , then , so . But then from and , we have so that , a contradiction. We conclude that any ball contained in contains at most one , and so cannot be covered by countably many balls.
We are therefore left to deal with the case where there are at most countably many non-isolated . Discard these, so without loss of generality we may suppose all the are isolated points of and that for some fixed the ball contains no other . Let be this set of . For each , let be the supremum over all such that is countable. It follows that is itself countable, as is . At each stage , there is a countable set disjoint from such that for each , there exists with . By transfinite induction, we can construct a cofinal subset of such that whenever and . The set is open in , and we claim that it is not a countable union of balls. For suppose otherwise. Let be such a countable family of balls; then there is some minimal for which is uncountable, so that . By construction of , there exists . But since , we have that for some , and this contradicts our condition on .