All above answers are correct. But one more important difference. If you call postValue() on field that has no observers and after that you call getValue(), you don't receive the value that you set in postValue(). So be careful if you work in background threads without observers.