Shakespeare's ''Hamlet'' is in many ways a typical ''revenge play'' of elizabethan times-- like many in this genre written by the likes of Thomas Kyd and other dramatists of the time. The revenge play used to have a stock theme and plot i.e. (a) someone 'good' had been murdered --a father, a king or lord, an elder brother or other close relation etc and (b) due to this the whole social system and 'order' was disturbed (people used to believe in supernatural disturbances when such events occurred) and (c) someone else eg a son, brother/close relative, servant/vassal etc, had to 'set things right again' via exacting or takign revenge from the evil person/s who had perpetrated the 'sin' or 'crime'.
If we look at ''Hamlet'' we will note something of all these elements there, too. Yet, there are differences-- indeed, as the question states, Hamlet is noth the usual dutiful son who just goes and murders his uncle and mother in revenge for his father's death. He is a complex Shakesperean hero, a tragic figure and a many-faceted personality. The best example is that of Hamlet's delay --what critics have actually termed the 'problem of delay'-- in carrying out revenge. He is an intellectual, a scholar, he doesnt see things in simple black and white, but in various ambiguous shades of grey-- he isnt 100% sure where the 'guilt' lies for his father's murder (hence the 'play within the play' whereby Hamlet wishes to ascertain guilt); and he is also reluctant to kill, to murder another human being, to exact revenge, that primitive, tribal notion. A close reading of the three soliloquies that Prince Hamlet indulges in, reveal very clearly all his doubts and anxieties on this score.
It is not that Hamlet isnt 'dutiful' as a son or doesnt love his father--its only that he is sensitive and finds the whole idea of revenge despicable and difficult to carry out and it takes him time, until he tries the tragic and final conclusions, and fulfils the revenge that he is expected to; also dying in the process.