None of the answers indicating the advantage of UTF-16 over UTF-8 makes sense, except for the backward compatibility answer.
Well, in my comment there are two caveats.
Erik states: "UTF-16 covers the entire BMP with single units. Therefore, if you do not need rarer characters outside the BMP, UTF-16 is actually 2 bytes per character."
Caution 1)
If you can be sure that your application will never need any character outside of BMP, and that any library code that you write to use with it will NEVER be used with any application that a character outside of BMP will ever need, then you can use UTF-16 and write code that makes an implicit assumption that each character will have exactly two bytes in length.
It seems extremely dangerous (actually, stupid).
It may be one single character outside the BMP, which may at some point have an application or library code, a code assuming that all UTF-16 characters are two bytes long.
Therefore, code that examines or processes UTF-16 must be written to handle the case of a UTF-16 character requiring more than 2 bytes.
Therefore, I “reject” this reservation.
Therefore, UTF-16 is not easier to code than UTF-8 (the code for both must process variable-length characters).
Caution 2)
UTF-16 MAY be more computationally efficient, in some circumstances, if it is properly written.
Similarly: suppose that some long lines are rarely changed, but often checked (or better, never changed after creation, i.e. a string builder that creates non-modifiable lines). A flag can be set for each line, indicating whether the line contains only characters of "fixed length" (i.e. does not contain characters with a length of not more than two bytes). Lines for which the flag is true can be checked with optimized code that assumes fixed lengths (2 bytes).
How about space efficiency?
UTF-16 is obviously more efficient for A) characters for which UTF-16 requires fewer bytes for encoding than UTF-8.
UTF-8 is obviously more efficient for B) characters for which UTF-8 requires fewer bytes for encoding than UTF-16.
With the exception of very “specialized” text, it is likely that the counter (B) is much larger than the number (A).