A likely reason for the difference is that by default Window's tracert uses ICMP, whereas Linux traceroute defaults to UDP. Using the -I option for traceroute should produce the same results as tracert:
traceroute -w 10 -I google.it
From the traceroute documentation:
In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of
firewalls. Such firewalls filter the "unlikely" UDP ports, or even
ICMP echoes. To solve this,
some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try
to use particular protocol and source/destination port, in order to
bypass firewalls (to be seen by
firewalls just as a start of allowed type of a network session).
LIST OF AVAILABLE METHODS
In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline
switches (you can see them after the method name, if present).
default
The traditional, ancient method of tracerouting. Used by default.
Probe packets are udp datagrams with so-called "unlikely" destination ports. The "unlikely" port of the first probe is 33434,
then for each next probe it is incremented by one. Since the ports are
expected to be unused, the
destination host normally returns "icmp unreach port" as a final response. (Nobody knows what happens when some application
listens for such ports, though).