Lua is a scripting language that can be embedded in other languages, i.e. C. It is relative easy to connect Lua with the host language in order to call functions or access variables from the host language or Lua itself.
This is why Lua is more and more being used in games and engines: It is relative easy to be implemented by the engine programmers while it is relative easy to be understood by other people. It allows people to access the API of an engine without requiring much insight in how the engine works. The user does not have to know about memory management or how to compile and link sourcecode into a running application.