Are you certain that you fully understand the Blink Without Delay example, and why one always subtracts unsigned long time variables?
One approach to learning is to study code examples, and make sure that you understand what each line of code is for and why it was written that way. Ask why if you don't.
You have to keep in mind that there are many different ways to accomplish something, and lots of really bad code examples out there, but on this and some other forums (Stack Overflow, AVRFreaks etc.), the members try to maintain high standards.
To be honest I am not sure I understand anything right now. I'm so frustrated because I've always been able to learn things fairly quick. I am 33 years old now so I think that is affecting things but still. I need to find some kind of structure. I have been looking at the blink without delay.
I know why it is better to use millis when doing multiple things. I do not understand why one always subtracts unsigned long time variables.