sí, porque una cosa es comprobar que el campo fue enviado
isset y otra muy diferente si está vació
empty.
que pasa, que el atacante puede deducir cuales son los campos requeridos (cosa que debes de definir en la tabla en la DB también) y por ende solo envía esos
no es muy necesario validar si el campo esta vacío o no (depende del caso), sino comprobar el origen correcto, por ejemplo que si viene de POSt o GET es muy importante, pro eso siempre se usa
isset($_POST['campo'])
en el caso de los checkbox no puedes usar isset para verificar si se envió porque los no marcados no se envían al php, en este caso si es recomendable evaluar que el value sea el indicado si fue enviado