This is way too general a question for me to answer adequately. In order to know the difference, you would have to have some understanding of what the Struts tags do. I'd suggest you spend some time reading the Struts User Guide, particularly the section on Building View Components to get a general understanding, and then look at the Struts taglib documentation for more specific information on what each tag does.
If there is anything that is unclear to you after looking at some of the above documentation, please let us know, and we'll try and clarify.
Most of the Struts Logic tags can be replaced by using JSTL tags. The Struts Logic tags exist because they were written before JSTL existed. Most of the Struts HTML tags are there to make interacting with Struts forms and actions easier. I don't see much overlap between the two.
subject: what is the difference between struts tag and jstl?