Just update the version numbers in your-plugin.php and readme.txt files. Users will be notified of the new version automatically.
You should also have changelog and upgrade notice sections in your readme.txt file, something like this:
== Changelog ==
= 1.1 =
* Some really cool feature
* Another awesome feature
= 1.0 =
* First version
== Upgrade Notice ==
This is a great new version with some really cool features.
WordPress has a Plugin Update API which checks every plugin a couple of times every day to see if there are any new updates to it.
When your plugin is hosted with wordpress.org this does not require any extra code on your end, as it is already in the WordPress core.
With wp-updates or other update methods you either install another plugin which checks it for you, or you add some class and set some properties, which in turn hooks into the Plugin Update API so updates are run through the same procedures as WP.org plugins.
Either way there is little control on how you notify your users on new updates as they both probably use the same check cycle. wp-updates probably has a method to force update checks or change the cycle to occur more often.