When executing a mobile test with Appium, the automation framework of the operating system receives and executes the driver commands being sent during the test.
For iOS 9.2 and below, the only existent automation framework that Apple had available was the UIAutomation framework. With the release of iOS 10, Apple deprecated UIAutomation in favor of a new XCUITest automation framework.
iOS 9.3 is the only iOS version for which one can use either UIAutomation or XCUITest. For example, with the desired capability
"automationName": "XCUITest" you can tell the Appium driver to use the XCUITest automation framework instead of using the default UIAutomation framework.
Although it is possible to test with XCUITest on iOS 9.3, we don't recommend it. In practice, we've found iOS 9.3 doesn’t have the complete infrastructure required to reliably support all the new behaviors that come with XCUITest. For this reason, testing with XCUITest is something that we recommend doing only with iOS 10.0 and above.
There are many differences between these two automation frameworks, some of which might require modifications to your tests scripts. You can find more information through the documentation available at the Appium GitHub repo.