La diferencia esta en que el operador ">>" es para extraer la entrada formateandola, y el get, es para entradas sin formato.
Como dijo God, es por temas de flojo...
Sin embargo, podes optar (si estas aprendiendo c) en usar un solo grupo de metodos para trabajar y no mixarlos para ahorrarte estos problemas.
o usas solo los ">>" o usas solo los metodos que son sin formato, tene en cuenta que si usas el get, o el getline, te vas a encontrar con situaciones donde vas a tener que transformar por ejemplo:
char * buff = "12";
en
int numero = 12;
para lograr estas cosas, tenes un grupo de funciones en las librerias de C, como por ejemplo
itoa (integer to ascii)
atoi (ascii to integer)
o por ejemplo, para formatear la salida a la hora de imprimir en pantalla, podes usar el
sprintf("12","%d",numero); //Te lo convierte a base decimal
sprintf("12","%x",numero) //Te lo convierte a base hexadecimal
sprintf("12","%o",numero) //Te lo convierte a base octal, dicen las malas lenguas que cada vez que se usa el "%o" muere un niño de tristeza
C tiene la particularidad, que podes hacer lo mismo de 3 millones de forma diferente... Esta bueno conocer 2 o 3...
PD:
Cuando vas a tirar codigo en el foro, usa los tags para Codigo...
SI le borras el guion bajo vas a ver que podes tirar codigo ahi dentro y te lo deja bonito como el que puse.
[_code=c][_/code]
Tambien lo podes hacer con el mouse dandole click en el combo que esta entre el icono de funciones y el televisor para agregar videos...
Lo que esta bueno, es que viene con un compilador, que te permite probar el codigo directo desde el foro, fijate que dice alado de una tuerca y una flecha, "Compilar y ejecutar código"
Abrazo