It seems to me that much of the controversy about NLP and its effectiveness is generated by a misunderstanding of NLP. Sometimes it is the trainers and advocates who misunderstand; sometimes it is the critics. They both try to make NLP into a distortion of what it is.
At its core, NLP is a model of how human beings connect in order to change or replicate behaviours. That's all it is. It is not a religion, a philosophy or an art. It aims to get results, not to make meaning. While it can be a useful part of the quest for truth or purpose or meaning, that quest is outside the model of NLP.
If you want to make the most of NLP, you need to begin with a strong, pre-existing model of identity and purpose. People who know who they are and why they are pick up the tools of NLP quickly and use them effectively. People who take NLP courses in the hopes of finding out who they are (and why they are) may learn the tools and use them in their pursuit of answers. They will not find answers in an NLP course.
Meaning is slippery. We may have a sense of our life's meaning, and then lose it, and then find it again, transformed. Whether we find answers in religion or community or philosophy, those answers take time and discipline and perseverance before they are stable enough to stand up through the storms and changes of life. We need to be active in our pursuit of those answers.
It's unfortunate that much of NLP talks so easily of changing beliefs. It's true that we have thoughts that determine our actions and some of those thoughts are not useful. It's also true that we are cautious about changing beliefs. They hold our thoughts into a meaningful pattern in a world where patterns are always threatening to change or dissolve. We know when our beliefs work together and when they pull us in different directions. Sometimes we have a sense of what we need to change in order to support some beliefs and let go of others. It is reasonable to proceed with caution.
NLP does not try (and inevitably fail) to be true: it works to be useful. It offers practices that are often helpful to people in connecting better with the people around them and in noticing what they actually feel and think in the presence of those people. This is not a small thing. Whole branches of psychology now describe how difficult it is for human beings to know what we think or how we make choices.
NLP can provide tools for exploring change with caution. Sometimes this will mean identifying a leverage point where a small change will lead to much different results. Sometimes this will mean using NLP techniques to open ourselves to new information and waiting to see how that new information changes who we are and what we think. Descartes famously declared, "I think, therefore I am." NLP practices are not a challenge to thinking: they are a way of building acuity and responsiveness so that people become more aware of what thinking is. What thinking means is outside the model.