El diseño responsive se basa en la resolución de los dispositivos, en el css asignas los máximo o mínimos y cambias las propiedades de los elementos para que ubiquen de una mejor forma para dicha resolución y se pueda navegar de forma correcta, si no se hiciera eso, simplemente sería un web flexible más no responsive.
Por ejemplo, hasta una resolución determinada puedes hacer que el menú sea horizontal, pero más abajo de eso puede pasar a ser un botón en la esquina con el menú desplegable.
Te dejo una imagen
Saludos