Why is it so inefficient to generate electricity by absorbing heat?

"So, why can't we do the reverse?" Because of the Second Law of Thermodynamics! Very, very roughly, heat is 'thinly spread' energy and won't spontaneously organize itself into the 'concentrated' energy that we want (in the same way that a drop of ink released into a tank of water won't spontaneously gather itself up into a drop again). Advice: if you're really interested, read up about thermodynamics!


tl;dr- Current technology absorbs temperature gradients, not heat. As temperature gradients become arbitrarily large, their information content nearly approaches the heat's information content, such that the apparent thermal efficiency,$$ {\eta}_{\text{Carnot~efficiency}}~~{\equiv}~~\frac{E_{\text{useful}}}{E_{\text{heat}}}~~{\approx}~~1-\frac{T_{\text{cold}}}{T_{\text{hot}}} \,,$$nearly approaches unity, showing that we can almost absorb heat while a temperature gradient is sufficiently large.


Hypothetical/future technology: Absorbing heat for energy

You could harness heat with near-perfect efficiency! Just requires finding Maxwell's demon. Maxwell's demon can be tough to find, but Laplace's demon could tell ya where it's at.

The fun thing about Maxwell's demon is that it likes to separate stuff out based on its highly precise perception and movement:

            .

So, you basically tell Maxwell's demon to let out high-speed particles when they're at nearly-tangential velocities to power a dynamo. And, bam! Electricity.

One trouble with this scheme is that we don't really know what heat is. I mean, we get the gist that particles are bouncing around and such, but we don't know all of the exact locations and velocities and such for all of the particles. And given that ignorance, we're basically unable to do anything with heat.

Except, of course, when our ignorance isn't complete. At the macroscopic level, we can appreciate stuff like temperature gradients; the larger the temperature gradient, the more information we have about relative motion of the particles at different temperatures.

And we can exploit this information, up to the point at which we've drained it away. For example, we can use heat to boil water, producing steam and thus raising pressure, using that pressure to turn a turbine. As the steam turns the turbine by going from a region of higher pressure to lower pressure, we again lose discriminating information about the system until our ignorance is again complete; but, we get useful energy out of the deal.

Conceptually, it's all about information. Whenever we have information about something, we may be able to turn that information into effect until the point at which we cease having information. Though we might say that we don't necessarily lose all of the information, as the energy that we get out of the deal isn't so much actually "energy" quite so much as it's a system that we have relatively more information about, and thus can exploit more readily.

Maxwell's demon and Laplace's demon are powerful critters because they have tons of information. By always having information, they can always construct systems that they can exploit for the extraction of energy. By contrast, humans tend to be limited in what information we have.

And that's the problem with just arbitrarily absorbing "heat": heat is a vague description about stuff moving around. In fact, even knowing a temperature is fairly useless information by itself; rather, we need temperature gradients, i.e. discriminating information, to knowingly construct a system that behaves how we want it to, e.g. a power generator.

In real life, there's interest in creating molecular machines, like observed in the classical example of ATP synthase, as a future technology. As @J... pointed out, Maxwell's demon in the above is acting as a thermal rectifier which are currently being researched (example).


Current technology: Absorbing temperature gradients, not heat

Why is it so inefficient to generate electricity by absorbing heat?

The above describes a system for generating electricity from heat. However, current technology never does this.

With current technology, we absorb temperature gradients. This may sound pedantic, but the fact that we're absorbing gradients and not heat itself is precisely why we can't get the energy equal to the heat out of the process.

Since we absorb the gradients, the Carnot efficiency tends to increase with the size of the gradient,$$ {\eta}_{\text{Carnot~efficiency}}~~{\approx}~~1-\frac{T_{\text{cold}}}{T_{\text{hot}}}. $$

Conceptually, the reason for this is that, as the temperature gradient$$ {\Delta}T~~{\equiv}~~T_{\text{hot}}-T_{\text{cold}} $$becomes arbitrarily large, the information contained in knowing the temperature gradient approaches the information that Laplace's demon would know, at which point efficiency would approach unity:$$ \lim_{{\Delta}T{\rightarrow}\infty}{\left(1-\frac{T_{\text{cold}}}{T_{\text{cold}}+{\Delta}T}\right)}~~{\rightarrow}~~1, $$i.e. 100% efficiency.

This is, sure, you wouldn't know the exact velocities of all of the particles, but what you don't know is dwarfed by what you do know, i.e. the extreme relative temperature gradient.


When you use heat to produce electricity (or any other form of energy), you are limited by Carnot efficiency:

$$\eta = 1 - \frac{T_C}{T_H} $$

You cannot produce any useful work using a heat source alone - you also need a cold environment to absorb the heat in the process. This is why it's pretty much impossible to make everything in the world simultaneously cooler when using a heat engine, and why it's impossible to achieve 100% (or even near-100% efficiency) with it, unless you're ready to go to a planet with near-absolute-zero ambient temperature.

I get that energy is lost when converting from one form of energy to another but how can we get such great efficiency going from one form but have horrid efficiency going back?

Energy is never lost, or created out of nowhere. Colloquially, "energy is lost" means that some of it got converted to heat instead of the form you wanted. This is why a heater is said to have 100% efficiency.