I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled or, if a GPU implementation is intended.
Handling m-to-n assignments is also possible with the Hungarian Method via cloning:
if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.
if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.
if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.
It should however be kept in mind, that a solution is not always possible due to shortage of either workers or tasks, but drawing conclusions of such failures (need to hire a worker or send him on vacation or, to create or give up tasks), is a different story.
Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)