I can see certain advantages of the mechanic compared to bonus/penalty adjustments,
First, the range of outcomes isn't extended. The range remains 1-20. No need to consider what a 28 result looks like. This helps with bounded accuracy -- you know the maximum any attempt can achieve.
Secondly, advantage affects low initial rolls disproportionately. Under a bonus scheme, a +3 bonus offers the same change regardless of whether a 2 or a 19 were rolled. Imagine rolling the two dice sequentially. If you roll a 20 on the first die, you know there is no possible improvement from the second one. If you roll a 1 on the other hand, you know that 95% of the time your result will improve and your expected improvement is +9.5.
Thirdly, it affects how frequently a 1 or a 20 result appears. This can have cascade effets on any form of critical hit / critical failure results -- or even auto-hit/auto-fail that a bonus scheme doesn't duplicate.