Александр
как по вашему мнению что из них сложней? я учил корутины вроде не тяжело (но правда еще на настоящем проекте не использовал)
rx нужен немного для других целей и применялся для асинхронного выполнения только ввиду безальтернативно-удобного вызова.
Если нужна асинхронщина - используйте корутины и не парьтесь, они ИМХО более удобные и читаемые.
Если нужна реактивщина (почитайте про реактивное программирование) - то изучайте rxJava, очень мощный и функциональный инструмент)
Если вы недавно в андроид разработке, сейчас не вижу смысла поголовно изучать rx, только если не поддерживаете проект с rx уже в нем)