An Example that Might Bite You
It can cause problems if you load both fontspec and fontenc together. More precisely, as David Carlisle points out, if you combine Unicode with other encodings in the same document—which could happen without your being aware that you loaded both, or even on a document that worked before. Here is an example that loads the legacy Utopia font, which is T1-encoded, but then also tries to load a modern Unicode font through Babel.
\documentclass[varwidth, preview]{standalone}
\usepackage[spanish]{babel}
% Due to a bug in Babel 3.22, we must override the OpenType
% language and script features for Japanese, and several other
% languages.
\babelprovide[language=Japanese, script=Kana]{japanese}
% Implicitly causes babel to load fontspec:
\babelfont[japanese]{rm}{Noto Sans CJK JP}
% Implicitly loads fontenc with [T1]:
\usepackage[poorman]{fourier}
\begin{document}
¿Es \foreignlanguage{japanese}{日本} Utopía?
\end{document}

Permuting the order in which you load packages can give you many different bugs. One of several problems in this example is that fontspec renders all non-ASCII characters inactive, which prevents them from being correctly translated into other encodings. If you re-ordered commands so that you loaded \setbabelfont after fourier, you would instead set the main font to Latin Modern Roman.
The rest of my post is about how to get that broken example to work, so if you only cared about the example of something fontenc breaks, you can stop reading.
How to Combine Unicode and Legacy Fonts
I’m not judging. Sometimes I don’t get to set the requirements.
To fix this example, load luainputenc, which, despite the misleading name, also allows switching between Unicode and legacy encodings on output:
\documentclass[varwidth, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[utf8]{luainputenc} % Needed to mix NFSS and Unicode
\usepackage[spanish]{babel}
\usepackage[no-math]{fontspec}
\defaultfontfeatures{ Scale = MatchUppercase }
\newfontfamily\japanesefont{Noto Serif CJK JP}[
Language = Japanese,
Script = Kana ]
\newcommand\textjapanese[1]{{\japanesefont #1}}
\usepackage[poorman]{fourier}
\begin{document}
¿Es \textjapanese{日本} Utopía?
\end{document}

A Better Solution
A quick Web search revealed that there are several free OTF versions of Utopia, which is legal because Adobe released a free and modifiable version years ago. Here, I load Lingua Franca:
\documentclass[varwidth, preview]{standalone}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\defaultfontfeatures{ Scale = MatchUppercase, Ligatures = TeX }
\setmainfont{Lingua Franca}[
Scale = 1.0 ,
Ligatures = Common ,
Numbers = OldStyle ]
\newfontfamily\japanesefont{Noto Serif CJK JP}[
Language = Japanese,
Script = Kana ]
\newcommand\textjapanese[1]{{\japanesefont #1}}
\begin{document}
¿Es \textjapanese{日本} Utopía?
\end{document}

This is much less of a hack and supports several features and scripts that the legacy package does not. You should use Unicode when you can, and legacy encodings when you have to.