Buenas! 
 
Llevo un corto tiempo trabajando con php y empecé mal , la casa por el tejado como se suele decir, y ahora que me he puesto a entender bien el por qué de todo me surgen varias dudas, que a pesar que puedan ser tontas y creo conocer la respuesta , prefiero preguntaroslo a vosotros que de tantos aprietos me sacais dia a dia :). 
La primera pregunta es : 
$_REQUEST , tal y como pone en el manual recibe las variables externas pasadas mediante un formulario sean recibidas por el metodo Get o Post indistintivamente. 
Entonces de aqui me surgen 2 preguntas principales: 
- 
¿ Por qué no utilizar siempre $_REQUEST entonces?  
Imagino que puede ser por si hay varios formularios con los mismos nombres de variables unos pasados por GET y otros por POST, o cosas así ... pero realmente quiero saber si hay una explicacion mas tecnica y clara en la que no haya caido. 
- Muchas veces al trabajar con las CSS , para diferenciar estilos entre varios apartados de la pagina hago lo siguiente : 
Código:
  <?php if(isset($_REQUEST['id]==3)) {... ..} ?>
  Pero claro , los apartados de mis paginas (normalmente webs modulares) , no tiene formularios en cada apartado con el name=id, ni nada asi . 
Haciendo pruebas, cambie por $_POST y no funcionaba y al cambiar por $_GET 
sí. 
Imagino que como el metodo GET, es para incluir las nuevas direcciones en la pagina ( dicho muy cutre) , es como que 
GET es el metodo que utiliza PHP en cada paso de pagina de la web... 
  No se si voy bien encaminado o pensareis que que me he tomado hoy :P, pero me gustaria realmente saberlo bien.
   
- La ultima pregunta es acerca de addslashes: 
Se que se utiliza para añadir \ a caracteres especiales como las comillas , etc... y evitar situaciones inesperadas en el ingreso a la base de datos.  
Me gustaria saber que se podria hacer si no se pusiera, porque no entiendo bien tan importante que es. 
Luego tambien estoy haciendo un formulario y una funcion para evitar que este algun campo en blanco , que le pasen etiquetas html , etc... Todo esto de momento sin tener que ingresar los datos a ninguna base de datos. 
Queria meter la funcion addslashes para dejarla mas completa de cara a un futuro , pero veo que para un formulario ordinario no hace nada....creo... 
Es decir, si yo en el campo nombre introduzco "pepe" , la salida será la misma y no entiendo por qué. 
Por que si $_REQUEST devuelve una matriz asociativa de strings, al poner las "" , no produce ningun efecto? 
Para evitar las comillas, utilizare las expresiones regulares, evitandome este tipo de salidas y que no puedan introducir este tipo de datos, pero realmente quiero saber si : 
Aunque yo evite la salida indeseada, de cada al ingreso en una base de datos de estos datos, si produciria efectos indeseados???      
No se si me he explicado bien y perdon por el tocho , espero puedan ayudarme en este largo pero intenso camino :).