Just look up Lua 5.1 tutorials. LuaJIT uses the Lua 5.1 API, not the current 5.4 API.
While you can write code that is compatible across all 5.x flavours, there are new things in 5.4 that will make it more difficult in the future. LuaJIT is very popular and many Lua modules and Lua Rocks support the 5.1 API. I would say LuaJIT is the dominant Lua engine in most games (but I'm not an expert). LuaJIT 2.0 is *smoking* fast.
(My paraphrased history that I pieced together some time ago) LuaJIT was developed by Mike Pall, who was a very active member in the Lua community. LuaJIT was written with large chunks of assembler and was optimized for Lua 5.1, 32 bit. When the Lua team started making changes to the VM he got very upset and when Lua 5.2 was announce he split with the Lua.org community and said he is keeping his VM API at 5.1. The Lua community has never recovered from that split and Mike Pall has no inclination to adopt the newer API. There was some code written to patch LuaJIT 2.0 for the Lua 5.3 API, but I don't think it gained much traction.
The Lua 5.1 API does not have bitwise operations or Booleans and loads modules much differently than 5.2+. However, the bitwise operators issue has been patched with extensions. Lua 5.3 added an integer and float number type. Lua 5.4. has added new closures that will be interesting. LuaJIT has a very good Foreign Function Interface (FFI) that allows you to dynamically load C/C++ very easily without having to write extensions like in regular Lua. LuaJIT is not deficient, it's just a little different.
NOW, with all that said, "regular" Lua is an extremely fast language. Don't think you need to use LuaJIT to write fast applications or scripts. I use Lua to script various tasks at work and it makes python and bash shell scripts look dopey. Powershell.... is.... so.... slow....