Что касается того, почему они делают то, что делают, я не совсем уверен в этом. но я могу дать небольшой контекст отношениям между ними.
aspnet_users содержит информацию о пользователе для учетной записи.
aspnet_membership содержит информацию для входа в систему и привязывается к пользователю
Во всей реальности это может быть одна таблица, конечно, но они разделяют два ключевых элемента информации: пользователь и пароль. Также, как и все остальное, система ASP.NET является модульной, так как вы можете включать / отключать различные функции, и в этом помогает разделение таблиц.
PasswordSalt используется при шифровании / хешировании пароля для добавления дополнительной случайности к паролям, чтобы даже при одинаковом пароле значения не были одинаковыми.