Why style.css with ?ver=3.9.2 not updating as the one without ?ver=3.9.2?

The ?ver=3.9.2 or similar part of enqueued styles (and scripts) is controlled by the fourth parameter of the enqueue function. If it is empty, the current WP version is added.

In the link you provide the version is stripped from url after it has been generated. This is not the preferred way to go, since you first do something and then try to undo it. Better not do it at all.

Rather you should set the version of your stylesheet while enqueueing, because in this way you keep track of the versions. Even more correct, when it comes to the main stylesheet style.css, you should set the version number in the header of that file and retrieve the version automatically like this:

$theme_data = wp_get_theme();
wp_register_style('wpse160190-main-style', get_template_directory_uri() . '/style.css', '', $theme_data['version'], 'all');

This way of working will also eliminate all caching problems.