A widget ID stores preferences across multiple widget instances. If you would always like widgets on your site to display with a dark theme for example, you might set up a widget ID with theme=dark and manage these preferences through the Twitter.com widgets manager.
Widget ID is required. You can override values set in the widget ID by including data-screen-name in your generated markup. You should swap out the fallback link and the inner text of the anchor when you make this customization:
<a class="twitter-timeline" href="https://twitter.com/{screen_name}" data-widget-id="{widget_id}" data-screen-name="{screen_name}">Tweets by @{screen_name}</a>