NSUserDefaults - это удобный способ сохранить некоторые настройки и текущее состояние приложения (например, флажок «запомнить меня» установлен на «да» или «нет»). Вы должны использовать его только для такого рода данных.
Вы также можете использовать собственный PList для хранения такого рода информации, но это может быть излишним.
Ключевой вопрос: насколько велики данные, которые нужно хранить?
маленький набор данных => NSUserDefaults
большой набор данных => PList
Вам также следует рассмотреть возможность использования CoreData, если у вас есть серьезные потребности в хранилище.