Shortcodes are a convenient method that WordPress implements which provides a way to generate dynamic and often complex functionality from very little input.
While developers often create functionality to provide additional features for a website; they are executed by calling PHP code. Users however, are often not developers, and as such having them interact directly with PHP is not recommended. A solution to this is for developers to create custom shortcodes.
Shortcodes provide a level of dynamic content for the user, allowing them to create power features on their website by using pseudo-code that act similar to macros. The shortcode when called will take its arguments (if any) and then run through a function which defines what custom functionality will occur.
For example, you may have a basic shortcode that is wrapped around your links to create a pretty button: [pretty_button] Read More! [/pretty_button]