Using `Solve` you should include this option `InverseFunctions -> True` :

    s = Solve[(3 - Cos[4*x])*(Sin[x] - Cos[x]) == 2, x, InverseFunctions -> True]
![enter image description here][1]

nevertheless you won't get all solutions, only three of them are real numbers :

    Select[ s[[All, 1, 2]], Element[#, Reals] &]
>     {-Pi, Pi/2, Pi}

with `Reduce` you needn't use any options and you'll get  all solutions, i.e. those eight complex roots which one gets with `Solve` and infinitely many real solutions, evaluate e.g. :

    Reduce[(3 - Cos[4*x])*(Sin[x] - Cos[x]) == 2, x]

as well as :

    Reduce[(3 - Cos[4*x])*(Sin[x] - Cos[x]) == 2, x, Reals]
![enter image description here][2]

Real solutions are integer multiples of `Pi/2` and for the  other ones  `Mathematica` cannot decide whether they are transcendental or algebraic numbers, to check it try e.g. :

    Element[#, Algebraics] & /@ s[[All, 1, 2]]

That's why `Root` objects are really useful, they include a pure function and a number of root (here) or numerical approximation where they can be found. However they can be determined with arbitrary accuracy, whatever one needs :

    N[s, 10]
>      {{x -> -3.141592654}, {x -> 1.570796327}, {x -> 3.141592654},
      {x -> -2.850459014 - 0.252846503 I},   {x -> -2.850459014 + 0.252846503 I},
      {x -> -1.533830564 - 0.542327853 I},   {x -> -1.533830564 + 0.542327853 I},
      {x -> 1.2796626869 + 0.2528465031 I},  {x -> 1.2796626869 - 0.2528465031 I},
      {x -> -0.0369657631 - 0.5423278534 I}, {x -> -0.0369657631 + 0.5423278534 I}}

For more information I recommend reading carefully e.g. an interesting post by Roger Germundsson on Wolfram Blog :  [Mathematica 7, Johannes Kepler, and Transcendental Roots][3].


  [1]: https://i.sstatic.net/owDz3.gif
  [2]: https://i.sstatic.net/UbDzJ.gif
  [3]: http://blog.wolfram.com/2008/12/18/mathematica-7-johannes-kepler-and-transcendental-roots/