Yep, that's them.
In a lot of languages a function can only return a single value and in many can only be passed a set number of values. Lua does not have this restriction!
For example if I right a function with ( … ) as the parameter list then any number of parameters can be passed in and dealt with, similarly if I say 'return a, b, c' then the function will pass back 3 parameters to the calling routine.
If the calling routine only wants say the last parameter then you can discard the ones you don't need by using '_' for example the function GetObjectPosAng returns both the position and angle of an object (note 'object' not entity so it can return the values for static objects as well) but if you only want the angles you simply discard the extra return values so:
local _, _, _, ax, ay, az = GetObjectPosAng( objectId )
Would result in the Euler angles (in degrees) that describe the current rotation in world axis of the object.
local x, _, z, _, ay, _ = GetObjectPosAng( objectId )
otoh would give you the x & z position plus the y angle component (but be warned that it's a Euler angle, not 0 .. 360! ) which may be all you need to for example use in controlling AI.
This sort of feature makes Lua a hugely powerful yet very compact language and means that it can run blindingly fast for an interpreted language, much faster than similar languages like Python.
Been there, done that, got all the T-Shirts!