1) Shared Preferences не подходит для хранения сложных объектов.
2) Конечно, всё зависит от проекта, но разница довольно велика. Возможно, что в каких-то случаях это сыграет свою роль.
Может и ни чем) Это всего-лишь туториал. Я не призываю использовать Snappy в своих проектах, лишь демонстрирую, как ею пользоваться.
P.S: Если вам интересно — вот сравнение.
Использование key-value базы данных Snappy в Android