Heegaard Floer homology is an invariant for low-dimensional manifolds defined using methods from symplectic geometry (holomorphic disks, Lagrangian Floer homology). To a closed, oriented three-manifold, this invariant associates a module over the polynomial algebra in a formal variable U. I will outline the structure of this theory and discuss various of its topological applications. This construction (as an invariant for three- and four-manifolds) was originally discovered in collaboration with Zoltán Szabó. The generalization to knots was discovered independently by Jacob Rasmussen.