There are a lot of differences, but you are asking from the perspective of the JSP page.
In that respect, ModelAndView.addObject will make the variable available to the request scope of the JSP, and Session.setAttribute will make the variable available to the session scope of the JSP.