What do you understand by the term 'communities of practice'? Evaluate the benefits of ‘communities of practice’ by referring to different theoretical approaches to learning and development.