В моем приложении Android я всегда использую функцию прямого putExtra() класса Intent для передачи любого количества значений в новый Activity. 
Вот так:
Intent i = new Intent(this, MyActivity.class);
i.putExtra(ID_EXTRA1, "1");
i.putExtra(ID_EXTRA2, "111");
startActivity(i);
Я знаю о Bundle в Android, и я видел, как люди используют Bundle для передачи значений в новый Activity. 
Вот так:
Intent intent = new Intent(this, MyActivity.class);
Bundle extras = new Bundle();
extras.putString("EXTRA_USERNAME","my_username");
extras.putString("EXTRA_PASSWORD","my_password");
intent.putExtras(extras);
startActivity(intent);
Здесь у меня есть 2 сомнения. 
 Почему я должен использовать Bundle, если я могу передать значения в новый Activity, поместив его непосредственно в Intent? 
В чем преимущества использования Bundle вместо прямого Intent putExtra()?
