ADB protocol version decides the packet format between client and server. By now it has 2 versions: 01000000 used in Android versions until 8 (Oreo) 01000001 used in Android versions from 9 (Pie) For more information, you can checkmy blog post
ro.product.name field in Android Build Props
ro.product.model field in Android Build Props
ro.product.device field in Android Build Props
Feature list decides how each individual commands should behavior. For example, it may indicate the availability of a new command, or a workaround for an old bug is not required because it's already been fixed.