the i386 is a program compiled for a 386 processor. it will work on any computer that has a 386 or better... and chances are, your computer does. 586 means the program was compiled for a pentium processor. that means it will work on any pentium processor, but it probably won't work on 386 or 486 computers. either file will most likely work... 99% of the computers you'll run across today will be pentium or better.
the compilation for a processor has more to do with optimization than anything else. the difference between the two is pretty small, but it's usually best to go with the one closest to the architecture you have.