Why ConfirmDialog.show returns an instance?

I don’t know how to ask to the developer of this add-on, since the add-on, rating and comment Page is bugged at the time.
When we use one of those factory methods, ConfirmDialog.show(…), every one of them returns an instance, what use could we give it to it?, Shouldn’t all these methods return void?

Presumably so that you can configure the dialog via setters if you don’t want to use the constructor that takes everything as parameters. After all, nothing visible happens (or can happen) in the .show() method itself. Vaadin tells the clientside to actually display the window in the HTTP response, after the current request handling is done.

but u can’t configure it “after” .show(), already was displayed, well… u can but won’t make any diff

No, like I said, the show() call does not and cannot display anything. It just tells the Vaadin server-side that “hey, when you send back a response to the client, please tell it to open a confirmation window”. Until the response is actually sent, at the end of the current response handling, you’re free to configure the dialog any way you want - it’s a regular Vaadin Window.