http://en.lichess.org/training/1430Qf8+ (mate in two) gives "Good move but you can do better" but Qf6+ (ALSO mate in two) gives "Puzzle failed". The solution is a mate in two from the start.
explain how qf6 gives mate in 2?
I mean mate in two AFTER 1. Qf6+ Kg8
It goes like this:
1. Qf6+ Kg8
2. Qd8+ Bf8
(2. ...Kg7 3. Ne6#)
3. Qxf8#
I agree, both moves are #2, if one is a good move, the other is aswell.
there is a difference: qf6 is not mate in 2 but mate in 3.
qf8 is mate in 2 while qe1 is also mate in 2.
No, that's not true, Qe1 is the best move, but Qf6 and Qf8 are equally good. After you do the mentioned moves, Qe1 is #1 and Qf6 and Qf8 are #2, or if you like they Qe1 is #2 and Qf6 and Gf8 are #3.
37. Qe8+ Kg7 38. Rf7# or Ne6#
37. Qf6+ Kg8 38. Qd8+ Bf8 39. Qxf8#
37. Qf8+ Bxf8 38. Rxf8+ Kg7 39. Ne6#