Beh, sinceramente io i frame, al giorno d'oggi, eviterei proprio di utilizzarli. Se non puoi fare altrimenti, come ti è stato detto c'è il tag <noframe>.
Riguardo le inclusioni lato server il principio è molto semplice: se devi avere un menu su tutte le pagine al posto di usare un frame o di dover mettere il codice in tutte le pagine, prendi il codice del menu e lo metti su un file esterno (per esempio un file di testo) e poi lo richiami dalla pagina. Questo è molto utile per vari motivi: produce all'utente (sia esso una persona che visita con un browser o uno spider) una pagina di HTML puro, se devi modificare il menu basta che modifichi un solo file (il file di testo) e le modifiche si ripercuotono su tutto il sito (un po' come quando si fanno le modifiche ai colori cambiando le proprietà di un CSS).
Riguardo le tecniche, le inclusioni lato server possono essere fatte in tanti modi: SSI, PHP, ASP,...addirittura le puoi fare "lato client" tramite Javascript (ma te lo sconsiglio). Tutto dipende da che supporto ti da il tuo hosting...
Ciao
Carmelo