Premoves (or Pre-Scramble-Moves) are a fewest move technique which allows for more possible continuations in FMC. Generally, premoves are used to make it easier for the solver to recognize certain cases (e.g. which Last Layer algorithm to use).
To transform a pseudoblock into a normal block, one only has to perform a premove that would usually be added to the end of the solution before the scramble, e.g. if the scramble were D' L' U' L D and the solver saw that a pseudo F2L could be created using a D' move, the D move that must be executed at the end of the solution to align the F2L correctly can be performed before the scramble (which would result in D D' L' U' L D) so that the F2L isn't pseudo anymore. This can be repeated multiple times, where the newest premove has to be performed as the first. It is important to remember that using the regular scramble, the premove will still have to be undone at the end of the solve. Premoves only serve as a way to enhance recognition so possible continuations can be seen more easily, which can be very helpful when multiple pseudoblocks have been built.
NISS (abbreviation for Normal Inverse Scramble Switch can be seen as an advanced version of premoves. It was invented by Guus Razoux Schultz in 2009 and allows the user to find more continuations more easily by switching between the normal and inverse scramble. It can be used in virtually all circumstances, although it can be very time consuming since the cube has to be scramble and resolved many times more than usual.
This explanation by Mike Hughey explains NISS very well:
Generally, you use premoves to modify a scramble so you can solve it more easily. The most common approach for this is to solve a "pseudo-block" of some sort, where for instance you might put in a corner-edge pair of the wrong color into a 2x2x2 or 2x2x3 block. Then you find the moves necessary to put that corner-edge pair (or whatever) into it's proper location in the solved cube. If you then apply those moves to the solved cube prior to applying the scramble, you'll find that the pseudo-block becomes an actual block. Then you can add those moves to the end of your final solution and it will be solved.
Guus's solution you mention is using "NISS" - his "normal-inverse-scramble-switch" method, where you solve part of the cube with the normal scramble, then when you get stuck, you switch to the inverse scramble and use it, then when you get stuck again, you switch back to the normal scramble, and so on. I love NISS - it's really fun to do! Anyway, when you switch from normal to inverse scrambles, the moves you used at the beginning of the normal scramble solve become premoves to the inverse scramble (and vice-versa). It takes trying it to see how it really works, and it's really quite ingenious.
The best way to understand these is to look at some of the solves that others have done (like the ones in the weekly competitions) and understand how they work. Examples are much more useful than descriptions - this isn't a particularly good description, but maybe it gives you an idea of what's going on. 
When switching scrambles, a general rule to keep in mind is that if a piece X was where piece Y would belong before switching scrambles, piece Y will be there where piece X belongs after switching.
NISS can also be used for finding shorter EOs. Since the amount of oriented edges on a certain axis doesn't change by switching the scramble, one can orient some edges on one scramble and then switch and hope for a better case. An even better approach is to know that misoriented edges after switching will be in the spot where the edge belongs. This means that one can predict which case will show up, so it is possible to set up to e.g. a 1-mover by only having unoriented edges that share one color, since after switching those unoriented edges will be on the same face with that color and can then be solved using one move (assuming that face is F or B).
Reverse NISS or rNISS is a way to allow for recognizing cases of unsolved pieces at some point in the skeleton more easily, e.g. for recognizing a PLL to finish the solve. This is usually used in combination with insertions.
rNISS works by using the moves of the skeleton after the point where you want to see the case of pieces unsolved by the skeleton and the scramble as premoves and then applying the solution until the chosen point. For example, consider the scramble R' U' F L2 D F2 U2 B2 U' R2 F2 U2 B2 L F2 R' F R' B' U' F U2 L' D' R' U' F with the skeleton U R2 U' R L2 D L' . D2 B U' R2 U D' leaving 2e2e. Using insertion stickers, at the position of the point it seems like the edges can be solved with R2 D2 R2 D2 R2 D2, but just to be save one could use rNISS here. For that, one first applies the rest of the skeleton (D2 B U' R2 U D') and the scramble (R' U' F L2 D F2 U2 B2 U' R2 F2 U2 B2 L F2 R' F R' B' U' F U2 L' D' R' U' F) as premoves to a solved cube, then the solution up to the point where one wants to see the case (U R2 U' R L2 D L') and using the now almost solved cube, it can be determined that indeed, that case can be solved using R2 D2 R2 D2 R2 D2.