well , the difference is quite huge
DPDA that accepts language by empty stack have a special property that, these type of languaeg have prefix property( a language whose strings have no prefix in the set of strings contained in the language is said to have prefix property).
DPDA that accepts language by final state can accept all the language that can be accepted by empty stack DPDA but converse is not true. reason being when you try to convert Final stack dpda for a language having prefix property to DPDA having empty stack method , you will have to add an epsilon- transition thus making it NPDA