Some tasks require complicated sequencing. For instance, you may want to display data on a 20-charater LCD display that takes a sequence of initialization commands, then needs proper registers loaded with data. A state machine can be wired up in an FPGA. It will be a real pain to get working, and any changes will require a total rebuild of your circuit. Instead, you can instantiate a tiny microprocessor - like PicoBlaze for instance. Now making changes means you load a different program into it, and it can be done without changes to your circuit.
You could of course use a processor outside the FPGA, but you already paid for all that logic inside the FPGA, so what's the point of keeping it empty? And you will have fewer wiring problems - not to mention you can use an off-the-shelf FPGA board without an external processor.
As for your final question, sure, the architecture can be different. But if you stick with say, a Picoblaze, you can always program it using the nice assembler that comes with it. It won't change by itself.