They carry different attitudes toward someone.
If someone has something special and you do '질투하다', you feel bitter about the fact they have it because you think it's unfair for you. So you would probably pick on them or plot against them as B.CyAn said. 시기하다 is synonym for it, sounds a bit more formal or stronger. 샘나다 is a weaker one.
If someone has someting special and you do '부럽다', you're hoping you could have it as well. You have no hatred feelings against them as you understand things don't always go the way you want them to.