The true test of user interface flexibility lies in how well the user interface design and implementation holds up when encountering an unexpected change request. A well-designed fragment-based user interface allows us to create incredibly dynamic user interfaces that can evolve and change with minimal impact on the code. As an example, let's make what could potentially be a major design change to our application.
Currently, the application always shows the book list and description on the same activity. The only difference is whether the fragments are positioned vertically or horizontally relative to one another. Imagine we receive feedback from our users that they don't like the way the app appears when viewed on a portrait-oriented handset with the list positioned above the description. When viewed on a portrait-oriented handset, they would like the list and description to appear on separate activities. In all other cases, they want the app to continue...