Twitter BasicAuth требуется разработчик приложения для хранения имени пользователя и пароля пользователя и передачи их вместе с каждым запросом.
OAuth - это открытый стандарт, в котором пользователь перенаправляется в Twitter, заполняет свое имя пользователя/пароль там (или уже зарегистрирован), а затем предоставляет разрешение на использование учетной записи. Приложение никогда не видит имя пользователя/пароль.
Цитирую страницы твиттера:
Базовая аутентификация является ответственность. При хранении логинов и паролей разработчик берет на себя дополнительные ответственности за безопасное хранение этих учетных данных ; потенциальный вред пользователям при входе в систему Учетные данные просачиваются или подвергаются насилию: очень высокий. Поскольку многие пользователи используют одинаковый пароль на многих сайтах, потенциал для повреждения не обязательно остановится со своим щебнем .
См: http://dev.twitter.com/pages/basic_to_oauth
Примечание: Я ничего об XAUTH не знаю, поэтому, оставляя что до других, чтобы ответить.