Well, an argument is basically additional information that the function, method etc (not only functions have arguments) might want to know to carry out whatever it's doing.
Take, for example, the TakeDamage method you can call on Humanoids.
Naturally Roblox will not like that very much because you aren't specifying anything. Here's where arguments come in, as they are (in most cases) the universal way of adding extra information to otherwise abstract functions like this one. So we add an argument:
Which will cause the Humanoid to lose 25 health.
For functions, the arguments of a function are determined by the event that is calling it; Take for example the OnTouch event. When connected to a function, OnTouch has a argument that takes any word (most commonly used by scripters is 'hit', although it can be anything you want), as a reference to the object that touched the brick, for example:
2 | if hit.Parent:FindFirstChild( 'Humanoid' ) then |
3 | hit.Character.Humanoid:TakeDamage( 25 ) |
6 | Part.Touched:connect(onTouch) |
, which will cause you to lose 25 health if you touch the brick.