Do you really need this keyword to overload methods? What is the difference between using the overloads keyword vs. just having different method signatures?
Miky D is right. There is no difference between an overloaded method declared Overloads and another one which doesn't.
I just wanted to point out that the Overloads keyword is mandatory when another method with the same name is declared Overrides or Overloads. For example, if you override the Equals method like this:
Public Overrides Function Equals(ByVal obj As Object) As Boolean ...
Then you want to create an overload like this:
Public Function Equals(ByVal otherProduct As Product) As Boolean ...
You will get the following error:
"function 'Equals' must be declared 'Overloads' because another 'Equals'
is declared 'Overloads' or 'Overrides'."
You will get the same error if someone declared a method as Overloads, and you want to overload that method. You will have to either add the Overloads keyword to your method or remove it from the other method.
I personally never declare an overloaded method Overloads unless I don't have the choice, like in the situation above.