I've tested it in a few cases and it seems to be the same however the following piece of code disagrees :
sage: f
x^3 + 2*x + 5
sage: f.roots(QQbar)
[(-1.328268855668609?, 1),
(0.664134427834305? - 1.822971095411114?*I, 1),
(0.664134427834305? + 1.822971095411114?*I, 1)]
sage: alpha = f.roots(QQbar, multiplicities=False)[0]
sage: K = QQ[alpha]
sage: K
Number Field in a with defining polynomial x^3 + 2*x + 5
sage: H.<a> = QQ.extension(f)
sage: H
Number Field in a with defining polynomial x^3 + 2*x + 5
sage: K['x'](f).factor()
(x - a) * (x^2 + a*x + a^2 + 2)
sage: H['x'](f).factor()
(x - a) * (x^2 + a*x + a^2 + 2)
sage: H == K
False
sage: H.gen() == K.gen()
False
sage: type(K)
<class 'sage.rings.number_field.number_field.NumberField_absolute_with_category'>
sage: type(H)
<class 'sage.rings.number_field.number_field.NumberField_absolute_with_category'>
sage: H.categories() == K.categories()
True
Assuming both are the same, it may be a bug in the == operator.