In the general sense, "bootstrapping" is a process through which a complex system is set up using a much simpler system. A bootstrap system (the simpler system) is in itself inherently incomplete.
Bootstrapping an OS ("booting it") includes getting the computer's firmware (BIOS, or equivalent) to run a simple program which is sometimes located on a fixed location on disk, which in turn starts more complex initialisation routines (see first and second stage bootloaders).
Bootstrapping a compiler is done by compiling a simple compiler that can handle a subset of a language in which the full compiler is written, possibly in several successive steps.
The term is also used in business and in other fields to describe the use of intermediate stages of investment/development needed to initiate later stages of increasing complexity and/or size.
From the Wikipedia article on Bootstrapping:
Tall boots may have a tab, loop or handle at the top known as a bootstrap, allowing one to use fingers or a boot hook tool to help pulling the boots on. The saying "to pull oneself up by one's bootstraps" was already in use during the 19th century as an example of an impossible task.