Question: what is the difference between the using the okta-signin-widget and the okta-auth-js?

May I say that the okta-auth-js gives all the functionalities for the authentication and that the widget use these functionalities + build the visual ?

Answer: 
The okta-signin-widget is built on top of the okta-auth-js framework.

The Okta login widget is built with specific flows that work well for
most cases, but in some situations, you might want to change the flow
in some way, you would use the okta-auth-js framework for that.

If you are familiar with javascript, you will likely have no problem
working with the okta-auth-js, but if you just want to authenticate
a user, and enroll them in MFA, you'll probably be fine just using 
the okta-signin-widget.

Hope that helps
The okta-signin-widget is build on top of okta-auth-js.

So if you need just simple login functionality you can use okta-signin-widget.

If you have some specific/difficult login flow you can get it under you control by using okta-auth-js api