CoinJoin is a special kind of bitcoin transaction which aims to improve privacy. A coinjoin transaction is one where multiple people have agreed to form a single transaction where some of the the outputs have the same value. A casual observer of the blockchain cannot tell which output belongs to whom. Unlike many other privacy solutions, coinjoin transactions do not require a modification to the bitcoin protocol.
This type of transaction was first described in a post by gmaxwell.
An example 2-party coinjoin transaction. https://chain.localbitcoins.com/tx/c38aac9910f327700e0f199972eed8ea7c6b1920e965f9cb48a92973e7325046 The outputs to addresses 1MUzngtNnrQRXRqqRTeDmpULW8X1aaGWeR and 1Fufjpf9RM2aQsGedhSpbSCGRHrmLMJ7yY are coinjoined.