The benefit of @FindBys is that we can be very specific about the element we are finding.
The drawback is that if we have an id, but the location of the element changes on the page and we specified both id and xpath, we will no longer get the element.
The real downside to this is that we can’t check the functionality of the page if the layout changed or a css selector changed which may not affect the usability of the application, but does cause your tests to error. If we relied only on id, then the tests would continue to work regardless of the look and feel. If look and feel have enough business value to create automated tests against them, then maybe try creating an entirely separate project to test that and give the Galen Framework a try.