This is important for previewing banners (in a supported language), and for anti-spam measures like T28714. Campaigns include metadata about which languages are targeted, but a banner not associated with any campaign has no such metadata. We do track "priority languages" for translation, but this is an optional mechanism.
Currently, a "bannerPreviewLanguage" session variable is passed to suggest the uselang parameter for previews, but there's no way this is a good guess. For example, the same session variable will be used for any banner in the list rendered by Special:CentralNoticeBanners.