I'm not good at explaining but I'll try.. (so other CPians out there, correct me if I'm wrong.)
[ByVal o as Object] -- I usually use this in a function. Example..
Public function sum (ByVal Num1 as integer, num2 as integer) as integer
sum = Num1 + Num2
return sum
end function
[ByVal e as CommandEventArgs] -- I usually use this to replicate an event by using AddHandler (or EventHandler).
ByVal (means ByValue) returns the exact value.
ByRef (means ByReference) returns the value from the data storage where the variable points at.
You can see that phrase as a default when you double click an object from the Designer view. And also by default, it is always ByVal.