Twitter BasicAuth richiedeva lo sviluppatore di un'applicazione per memorizzare nome utente e password dell'utente e trasmetterli insieme a ciascuna richiesta.
OAuth è uno standard aperto, in cui l'utente viene reindirizzato su Twitter, inserisce il suo nome utente/password lì (o è già connesso) e quindi concede l'autorizzazione all'applicazione per utilizzare il suo account. L'applicazione non vede mai il nome utente/password.
Per citare le pagine di Twitter:
autenticazione di base è una passività. Memorizzando gli accessi e le password, uno sviluppatore assume ulteriori responsabilità per l'archiviazione protetta di tali credenziali ; il potenziale danno per gli utenti se le credenziali di accesso sono persi o maltratti è molto alta. Poiché molti utenti utilizzano la stessa password su molti siti, il potenziale danno non si ferma necessariamente con il loro account Twitter .
See: http://dev.twitter.com/pages/basic_to_oauth
Nota: Io non so nulla di xauth, in modo da lasciare che fino agli altri per rispondere.