I have done some testing, and after findings such as this and example 2, I have pretty much come to the conclusion that many Events have built-in values that they can give to arguments.
However, I was not able to find anything on the Wiki about this. Can anyone confirm this claim for me, and possibly add any additional information they know about it (such as which Events have arguments to give)
Example 2: In a script inside a Part, write:
function Frap(Goo)
Goo.BrickColor = BrickColor.new("Camo")
end
script.Parent.Touched:connect (Frap)
When the player touches the Part, whatever touched it will turn to the color Camo. Even though Goo was never actually defined when the function was called, Touched gave a value to it.

4 comments
Yes. Many events have built in parameters.
If you look at the wiki page for the event it does show what parameters it has.
Most of these things we don't think about. We just take them for granted because they just work.
No, not everything has it's own parameter. For example Mouse1Click doesn't have a parameter for the player.