Q:

why the html.erb are not called html.rb?

I mean what is the difference between erb and rb? I thought erb after and html was simply a way to say, hey this is an HTML but used "inside" a ruby directory of several files and subdirectories

A:

erb is the extension of the template engine used to interpret the file.
In Rails, the filename determines the template engine used to parse and interpret a file. For instance, style.scss is processed by the SCSS template engine. Likewise, script.coffee.erb is processed by ERB, and the result is processed by CoffeeScript template engine.
Extensions are just conventions. You can easily call a file hello.txt and feed it to the Ruby interpreter. The interpreter will happily execute it as any other Ruby script. It doesn't have to be called hello.rb.

