DAL2 stands for data access layer (i think.) Its the built in repository that DNN module developers can use to perform crud operations on the database. It uses PETA POCO simple objects/entities. It great and simplifies the tasks involved around database functions.
The SPA and MVC module's template both use this DAL2 and so the project you create will have an example of how to perform these CRUD operations with one basic demo item.
The difference is that with the SPA module you will be looking to use a front end framework like Angular(1/2) or React or Knockout etc... The main page is a index.html file and you begin your front end development there. It assumes you will be using web.api and usually rest style api calls for data.
The MVC module is set up so you can use the DAL2 in combination with .NET MVC for web. This is the same MVC used for other types of .net development.
These modules templates/projects just provide you with a good starting point to develop for either situation. They also include some build functions that make deploying your module easier. Make sure to carefully read the documentation that is included in the project when you create it as there are some steps you need to take to finish setting up your project.