From the military perspective there is little to no difference.
Initially "knight" would denote a man serving in the heavy cavalryman role. The cost of necessary equipment (full armor, multiple horses) and maintaining it was significant, which lead to the fact that a knight was expected to own land to cover those expenses (whether it was land or military career that came first and provided opportunity for the other may vary). This lead to knight as a social class, and later you are going to see some Knights who focus on other things than warfare while still being considered Knights because now that word has taken an additional meaning.
By the High Medieval you are going to see significant number of people who are professional heavy cavalrymen, but lack an independent source of income, maintaining their status either by constant participation in warfare or by being hired by a nobleman (sometimes a Knight) who can afford to maintain more than one person as a heavy cavalryman. Those people are usually referred as men-at-arms. And as the class structure was becoming more rigid, even those heavy cavalrymen who owned land found it harder to become knighted.
So earlier heavy cavalrymen were called knights. Later heavy cavalrymen were called men-at-arms while the word "knight" became a title (knights almost always fought as men-at-arms, but by the end of the Medieval period they were a minority among men-at-arms). Of course equipment and even tactics change significantly between, say 11th and 15th century, but if you look at any army in a single moment of time there is only one combat role (a type of "unit" if you will).