Checkout - wp-includes/plugin.php#L585
plugin_dir_url()
function internally uses plugins_url()
to get the link to plugin directory.
plugin_dir_url()
This will return url of the plugin directory with a trailing slash at the end. So this can be easily used to link to the plugin directory.
e.g - http://www.example.com/wp-content/plugins/foo/
plugins_url
If no arguments are passed this will deliver the same result as the above function; but with or without a trailing slash at the end. This can be configured to link to files within plugin directory; a useful shortcut.
e.g -
plugins_url( 'img/bar.jpg' , __FILE__ )
will return a url like
http://www.example.com/wp-content/plugins/foo/img/bar.jpg
trailingslashit()
forplugin_dir_url()
because it already uses it within function.