Spring and Guice take slightly different approaches, historically. Spring has focused more on being a complete Enterprise
Java stack, whereas Guice focuses purely on DI.
There are several comparisons around the web that get quite partisan, but mostly the difference has been that Guice's
philosophy is around modularity and type safe configuration, and Spring's has traditionally been around flexibility and complete solutions for integration with third party libraries. Nowadays they both provide similar features and there is even a joint effort (JSR-330) between Google and SpringSource to standardize DI for Java.