A WordPress theme is the set of files containing PHP and HTML which sit on-top of the core WordPress application and convert its raw response data in to usable web pages. Themes determine the look and functionality of a WordPress website.
Templates hold the page layout logic and use and include template files to build the front-end (HTML page) for a request. Templates also define Menu and Sidebar locations; areas of the page where Menus and Widgets can be placed by an admin user. index.php is the primary fall-back template file for WordPress and is required for a theme to work.