Impulse energy is a measure of potential that can be applied to a SL prim. Impulse energy does not follow the rule of E = 1/2 Mass*Velocity^2, as in regular physics. Rather, it behaves like a momentum transfer, m = Mass * Velocity.
This actually works out to your advantage if you wish to achieve high speeds (V > 1), but for moving heavy items, it will provide less force ( V < 1). Also when doing physics simulators comparable to RL, keep this in mind.
Impulse Energy explained:
An in-world prim, weighing about 4000 lg (Linden grams), has a resevior impulse energy of about ~20,000 units. When this energy is used it is recovered at the rate of 200 units/second. It's most likely that all objects recover energy at this rate.
Lighter objects have a small reservior of energy.
So what does this mean?
In order to fight gravity a force equal to X energy per second must be generated. A large object may initially have more thrust than a small object, but the steady state thrust of the objects would be the same.
Also it should be noted that 2 linked objects have a shared energy that can only be activated by a script on the primary object. Thus, using llApplyImpulse on a child object will cause no force and will drain no energy.
Conversely, using llApplyImpulse to a very small parent object attached to a very large child object will generate a force similar to one created by a single large object.
(continued after more analysis)