A little background:

Tefillin are a "sign" of our special relationship with G‑d: "And it shall be to you as a sign upon your hand and as a remembrance between your eyes."1

Shabbat and the major biblical holidays are themselves signs of our covenant with G‑d: "Observe My Shabbats! For it is a sign between Me and you for your generations..."2

We therefore do not don tefillin on Shabbat and major holidays when work is prohibited (Rosh Hashanah, Yom Kippur, Sukkot, Shemini Atzeret/Simchat Torah. Passover, and Shavuot), as the sign provided by the tefillin is redundant on these days.3

There is a longstanding difference of opinion between halachic authorities whether Chol Hamoed (the semi-festive intermediate days of Passover and Sukkot) is considered a "sign" as well. On one hand, many forms of labor are permitted on these days, and we do not recite the kiddush etc.; on the other hand, many labor restrictions do apply to these days, as well as the prohibition against eating chametz and the obligation to sit in the sukkah, etc.

Consequently, there is a difference of opinion whether tefillin are worn on Chol Hamoed.

Practical application:

Sephardic Jewry, chassidim,4 and certain non-chassidic segments of Ashkenazi Jewry, do not wear tefillin on Chol Hamoed.

Most Ashkenazis, however, do don tefillin on Chol Hamoed. Most do so without reciting the tefillin blessing,5 while others do say the blessing, albeit in an undertone. The tefillin are removed before the recitation of the Hallel, and some remove them even earlier, immediately after the kedushah of the Shacharit Amidah.6

On Chol Hamoed, one should ideally pray in a synagogue whose custom in this area is in concurrence with one's own. If this is not a possibility, there are different opinions as to what one should do. A local rabbi should be consulted for proper protocol in such an instance.

Rabbi Dovid Zaklikowski,
Chabad.org