Because MATLAB only introduced the string class in R2016b, but previously any character array with size 1xN was called a "string". So for historic reasons there are many references to "strings" that are actually references to 1xN char arrays.
For example this includes the functions sprintf, cellstr, and iscellstr.
- Versions R2016a and before: The output is a 1xN char array.
- Versions R2016b and later: The output class is the same as that of the first input.