A set A is dense in X if cl(A) = X, meaning A intersects every non-empty open set. A space is separable if it has a countable dense subset. Dense subsets capture the notion of being 'spread throughout' the space; separability measures how 'small' a space is in a topological sense.
From your study of the closure operator, you know that cl(A) is the smallest closed set containing A — equivalently, A together with all its limit points. A set A is dense in X when cl(A) = X, meaning every point of X is either in A or is a limit point of A. No matter where you look in X, points of A are arbitrarily close by. There is no "open hole" in X that A avoids: if U is any non-empty open set, then U ∩ A ≠ ∅.
The canonical example is ℚ ⊂ ℝ. The rationals are dense in the reals because between any two real numbers there is a rational — equivalently, every open interval (a, b) contains rationals. Yet ℚ is countable and ℝ is not. This is the point of density: you don't need the dense set to *be* the whole space, only to *approximate* the whole space arbitrarily well. Every real number is a limit of rationals, which is why so much of analysis works smoothly with rationals as a tool even though the objects of interest are real.
The equivalent open-set characterization — A is dense iff A meets every non-empty open set — is often easier to check in practice. Suppose A misses some non-empty open set U: then U ⊆ Aᶜ, which is closed, so cl(A) ⊆ X \ U ≠ X. Contrapositive: if cl(A) = X, A must hit every open set. This criterion makes density purely a statement about the interaction of A with open sets, which is exactly the topological perspective — no metrics needed.
Separability says X has a *countable* dense subset. The integers-to-reals analogy applies again: ℝ is separable because ℚ is countable and dense. Separability is a "smallness" condition on the topology. Intuitively, a separable space can be "approximated" by a countable collection of test points. This has major consequences: separable spaces support many properties that fail in general — for instance, every subspace of a separable metrizable space is separable, and separability makes it possible to work with sequences rather than nets or filters in many important theorems.
The connection to the basis you've studied is tight: a second countable space (one with a countable basis) is always separable — just pick one point from each basis element. In metric spaces the converse holds too: separability is equivalent to second countability. So for the spaces you'll encounter most often — Euclidean spaces, manifolds, function spaces — separability and second countability travel together, and dense countable subsets serve as the "rational approximation" scaffolding the whole theory rests on.