Search is the process of methodically examining potential solutions to find the best one. Computers are not naturally good at search, but can be made efficient through careful programming. There are three main types of search: blind search which examines possibilities in a predefined order, heuristic search which examines possibilities in order of perceived value, and stochastic search which examines possibilities randomly in a clever way. Key aspects of search include completeness (finding a solution if it exists), optimality (finding the best solution), and complexity (resources like time and memory required). Common search strategies include breadth-first, depth-first, and iterative deepening.