Based on my preliminary research, you can use a Magento 2 theme to
- Add additional, or replace already defined, translation strings for Magento’s __ localization function
- Specify the height and width for named Magento image assets
- Replace any front end asset files added by a Magento module
- Replace any email template file
- Add files for Magento’s //@magento_import LessCSS directive to consume
- Add additional layout handle XML files to merge when Magento merges a specific module’s layout handle XML
- Override a module’s layout handle XML file (edited)
Is there anything else you change change about Magento's system behavior via a theme?