CKEditor comes preconfigured with a series of buttons that can be added to a profile. As a programmer, you can extend CKEditor and add your own buttons. This can happen by adding plugins or widgets. The difference between the two is that widgets are plugins that group the behavior of more than one component. An example of a widget is an image where the image itself, alternative text, and a caption form an item and they can be moved around the WYSIWYG area as one item.
To use additional widgets, you will need to do two things:
Download or create a plugin for CKEditor.
Tell the Drupal core that a new CKEditor plugin should be loaded.
To learn more about the CKEditor side of things, read the documentation on adding CKEditor plugins or CKEditor widgets. Plugins and widgets for CKEditor can be downloaded from http://ckeditor.com/addons/plugins/all.
Once you have a CKEditor plugin, you need to tell Drupal core that a new CKEditor plugin needs to be loaded via \Drupal\ckeditor...