The principal difference between the two is that the inline table valued function can be built with a parameter where a view cannot. Most of the time, but not all the time, the inline functions are resolved out to the component tables in the same way that views are. With the addition of a filter through the parameter, this can make them perform better than views in certain circumstances.
However, test your code carefully. Functions, especially multi-statement table valued ones, can be serious performance pigs.