Why does everyone complain about L298Ns getting hot?

My combat robot uses an L298N as it's main driver. That thing is having its maximum current rating pushed through it all the time, and is dealing with digital (on/off) motor control at 12V. And it doesn't get hot in the slightest. I even removed the heatsink for the sake of weight reduction (-5g) and it's still only slightly warm.

Why is my L298N staying cool while everyone seems to complain about how "inefficient" and "hot" they are? It's not like I'm pushing a small amount of power through them.

The only thing that comes to mind is braking. A lot of motor control code applies power to both terminals of the motor as a brake. Because I'm using geared motor, the output shaft stops immediately after power being taken away, meaning I don't need to actually "brake". If that didn't make sense, basically my "motor stop" code looks like:

digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);

instead of the usual

digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);

Yes, shame on me for not using arrays. Nevertheless, while motors are in the state of power on both sides, they start drawing obscene amounts of current that I suppose could heat up the L298N, but mine never actually enter this "braking" state. So is this why my L298N doesn't get hot? Are L298Ns getting hot just a myth? I need help figuring these things out.

A decent logic level MOSFET would work with much less voltage drop.

H-bridges and MOSFETs get hot when they are working in the linear region,
between full OFF and full on. If you only switch them from time to time,
that is not a problem, but could become one, if PWM is used.

Depends on the current - the dissipation in the chip goes with the square of the average current through it. Using it with a 6V motor compared to a 12V motor of the same power would lead to 4 times the dissipation, for instance.

These darlington-based motor drivers are really designed for higher voltages and lower currents, for instance 18, 24, 36V. Lots of people try to use them at 5 or 6V and discover that they have a limited tolerance for current...

They are 6V motors, but they are being run at 12.

Weird. So me not using PWM is why they aren't getting hot? What happens if I move one of the joysticks forwards and backwards really fast?

EDIT - The reason I didn't want to use a Pololu driver is just that I don't like their specifications. They have very specific parameters that they have to run at, none of which really match my uses.

And they're expensive.

Like 100 times a second?

I guess that would warm your hand and the joystick quite well, maybe the chip also.

Who was talking about such a thing?

No one, I just figured someone would bring up "oh why didn't you just use a Pololu driver" at some point. It happens a lot when L298Ns are mentioned.

I always tell new users that L298Ns are a better starting point because they are super basic and very well documented, but others have different opinions.

Again, for your use case, a simple MOSFET would be more efficient.

If I were to do anything it would be to somehow drive the motor from a servo signal so I could integrate analog control super easily.

But I don't want to mess with the wiring anymore because it's a giant pain to do anything with. Maybe next time.