Communities of practice

What is Communities of practice? How does it contribute to knowledge management?