Actions are
unique to QTP while functions are supported by both VB Script and QTP. Actions
can optionally pass and receive input and output parameters. When used, input
parameters must be passed first, followed by output parameters. A parameter
cannot serve both as an input as well as an output parameter. In addition to
supporting output parameters, Action can also return a value. An object/array
can't be use as an action parameter. Lastly Actions are maintaining object
repository where as functions are not.