Neuro-linguistic programming is a collection of practices that allow individuals to make changes in themselves and to influence change in other people. The name is rooted in what has since proven a faulty assumption that the human mind works like a computer. Neuroscience has since proven convincingly that the human brain is not a computer (the mind even less so), but the brain does run on patterns. These patterns are shaped whole at each moment: what fires together wires together in the neural webs that give us our experience of states of being.
The second fault in the name, less commonly noted, is the separation of language from neurology. Language, like other forms of thinking, is a neurological process. Despite this confusion, it is true that thinking that has an impact on the world combines three elements: neurology, language and physiology: NLP. The practices of NLP (not the label) are in line with much of current thinking in the neurosciences (like current thinking in most fields, there is always room for controversy). They engage multiple centres in the brain and body in processes that influence internal and external representations of experience.
If that's too complicated or too general, try this: NLP is a set of practices for focusing on what you want and how to make it happen in the world. It is not thinking for thought's sake: it is thinking for people who take action. Training in NLP helps you to identify, isolate and replicate the combinations of language and experience that will shift people's thinking (your own or other people's) in ways that result in action.
My favourite definition might be this: NLP is the deliberate practice of whole brain thinking by the embodied mind.