NK fitness landscapes are stochastically generated fitness functions on bit strings, parameterized (with N genes and K interactions between genes) so as to make them tunably `rugged'. Under the `natural' genetic operators of bit-flipping mutation or recombination, NK landscapes produce multiple domains of attraction for the evolutionary dynamics. NK landscapes have been used in models of epistatic gene interactions, coevolution, genome growth, and Wright's shifting balance model of adaptation. Theory for adaptive walks on NK landscapes has been derived, and generalizations that extend beyond Kauffman's original framework have been utilized in these applications.