Yes heart rate estimations are better. But they're all based on some rough gauge of body mass and heart rate. It's based on statistical norms, and not everyone is typical. Nor is the efficiency of everyone's body typical. Elite athletes will likely consume less calories for a given body mass and heart rate. Any number you get will be "biased".
Luckily the bias (for you) is likely consistent. So you can reliably gauge the caloric value of one workout vs. another. We can likely "feel" how many calories we burned. But for us analytic personalities, it's nice to get some numerical validation in addition to a good workout high.