Hill climbing is a local search algorithm that starts with a random solution and iteratively makes small changes to improve the solution. It terminates when no further improvements can be made. Hill climbing can get stuck at local optima rather than finding the global optimum. Simulated annealing is similar to hill climbing but allows occasional "downhill moves" that worsen the solution based on a probability function involving the change in solution quality and temperature parameter. The temperature is gradually decreased, reducing the probability of downhill moves over time. This helps simulated annealing avoid local optima and find better solutions than hill climbing.