@Sponge,
To tie into what Terra said:
ReferenceAliases can hold references like Actors, and can be used to let you individually add Packages, Abilities, Keyword, Items, etcetera. Or they can be used to randomly find an NPC who matches a specific requirement, like "A Redguard with a Silver Sword". In my experience, if you're making a permanent change to an Actor the best way is to use an Alias unless you absolutely have to alter the base-reference.
A good example is adding new Perks or Spells to the Player at Start-Up: you can either write a script to add the spell/perk, or put the Player in an Alias that gives them the Spell (Perks have to be added via magic Effect, but it amounts to the same).
You can also use them to create semi-generic Objects for Quests, which is cool
I would *assume* you would almost always use 'extends ReferenceAlias' because you're running your Script on the actual Reference being put into an Alias, rather than the Alias itself? And looking at the Wiki, that looks like the case--the ReferenceAlias functions are more about manipulating the actual thing being held in an Alias, whereas the Alias functions seem to be more generic-form stuff.