The short answer
If you have time for both, do both — they sit far enough apart to feel like different countries and close enough to connect by train in a long day. If you have room for one, the choice is not about which city is better; it is about which kind of traveller is standing in front of the map.
Marrakech is the city Morocco built for visitors and keeps performing for them: gardens, palaces, rooftops, pools, a square that puts on a show every evening. Fez is the city that was great long before tourism arrived and has never adjusted itself for anyone. Both are authentic. Only one of them is easy.






