After reviewing Data Binding documentation on the difference between <import/> and <variable/>, it's unclear how they differ. Below are examples taken from the documentation page.
<import type="com.example.real.estate.View" alias="Vista"/>
looks like the equivalent of
<variable name="user" type="com.example.User"/>
except that an alias can start with a capital letter, while name cannot. They are even used similarly.
<data>
<import type="com.example.MyStringUtils"/>
<variable name="user" type="com.example.User"/>
</data>
…
<TextView
android:text="@{MyStringUtils.capitalize(user.lastName)}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
The only difference I'm seeing, from the examples, are that you can call an import's methods, but not a variable's.