idempotent completion
An idempotent is a self-projection: an endomorphism e with e^2 = e, like a map that picks out a piece and leaves it fixed. Ideally such a projection should split — its image should be an actual object of your category, a direct summand. But in many categories the image is missing, like a shadow with no body. The idempotent completion is the operation of supplying those missing bodies: you formally adjoin an object for the image of every idempotent, making every projection split.
Given an additive category A, its idempotent completion (or Karoubi envelope) A-hat has objects the pairs (X, e) with X in A and e: X -> X an idempotent, e^2 = e. A morphism (X, e) -> (Y, f) is a map g: X -> Y in A with f g e = g. The original object X becomes (X, id_X), giving a fully faithful embedding A -> A-hat, and in A-hat every idempotent splits: (X, e) is a direct summand of (X, id_X) complementary to (X, 1 - e). A category is called idempotent complete, or Karoubian, when this embedding is already an equivalence.
Idempotent completion matters for K-theory because K_0 is sensitive to it but the higher K-groups are not: the inclusion A -> A-hat induces an injection K_0(A) -> K_0(A-hat) that need not be surjective, while it induces isomorphisms on K_n for n at least 1 (a theorem in the cofinality circle of ideas). Practically, this is why one works with finitely generated projective modules — they are exactly the idempotent completion of the free modules, since a projective is by definition the image of an idempotent matrix.
Let A be the category of finitely generated free R-modules. Its idempotent completion is the category of finitely generated projective R-modules: a projective P is the image of an idempotent e = e^2 in some matrix ring M_n(R), i.e. the object (R^n, e). Thus K_0 of the free modules need not equal K_0(R) unless every projective is stably free.
Projectives are the idempotent completion of free modules.
Idempotent completion is itself a left-adjoint-like universal construction: A-hat is the free idempotent-complete additive category on A, so any additive functor from A to an idempotent-complete category extends uniquely (up to natural iso) over A -> A-hat. Completing twice does nothing new — A-hat is already idempotent complete.