Shortcodes are one of the most ubiquitous features used throughout thousands upon thousands of plugins. If a plugin does anything more than very basic or specific tasks, it is likely that it uses one or more shortcodes as a means for the user to apply the functionality of the plugin to their site.
This tutorial series walks through many aspects of using shortcodes in your plugins, including discussions of when and why you should use shortcodes, how to register them, setting up advanced shortcodes that accept multiple attributes, and how to make your shortcodes even better by adding support for easy-to-customize template files.
I have covered shortcodes several times in the past, but this series will go much further than previous tutorials.