A user-interface is anything that sets the platform for communication between a human and a computer system. Given how a computer system behaves in a very specific way,that it is meant to, it only makes most sense to make it understand and respond to the human while the human is given the option of using the easiest,most natural way to interact with it.
In a Command line interface (CLI), the user types in some commands that the program understands. The focus is on what the system understands and so the user has to make himself/herself accustomed to communicating with the system in a language that it does understand. To flatten out the steep learning curve of the user , GUI or the graphical user interface was introduced, with more visual indicators that the the users could relate more to , icons that stood as visual representations of things that the users more easily understood, as compared to text commands in CLI. A Natural User interface is a step further ahead in the sense that the focus is all on the user,it is an attempt at making the interface more suited to humans, that the computers try to understand and not vice versa.
So, in essence,a natural user interface attempts to make human-computer interaction a more human centered approach. Current natural user interfaces hence use technologies (or a combination of technolgies) such as multi-touch,gesture recognition,speech recognition, motion sensing, body tracking etc.
These technologies are used in designing the interface such that the interaction style becomes more direct and very natural and intuitive to the user. An ideal NUI would be something that has enough flexibility in the sense that it can accommodate and work well with a way of interaction by the user that is absolutely effortless (in terms of cognitive effort) and extremely direct for the user.