I don't think compensation picks make sense in the NFL.
Look at baseball: compensation picks in MLB make a lot of sense, because it's not a level playing field. Teams like the Yankees, Red Sox, Dodgers, et al. have payroll double/triple some of the small market teams. For teams like the Pirates, Athletics, or Rays, they're bound to lose star players to large market teams. Compensation picks help balance things out a little bit.
In the NFL though, everyone is playing by the same salary cap rules. Every team can afford to utilize all of their cap space (and not only that, there's a salary floor that they must meet). Yes, teams often lose players that they can't fit under their salary cap, but it's never because of a payroll disadvantage.
Anyway, Belichick works the system well, and we generally benefit from it. Obviously I love all of these extra picks. Objectively though, I don't really think the system makes a ton of sense.