My (open to correction) understanding was that "Farsi" has some use in referring to the Iranian standardization of Persian (as contrasted to Dari, its Afghani counterpart).
Both are correct. "Farsi" is actually the Arabic version of "Parsi" (meaning "Persian" in, well, Persian). As a Persian, I personally don't use "Farsi".
Yes, it is useful when you want to contrast Iranian Persian with other varieties used in Afghanistan, Tajikistan etc., but when talking about all of them together it is confusing.