Difference between dmesg and /var/adm/messages?

Can anyone explain me the difference between difference between dmesg and /var/adm/messages in solaris. I tried to find out the difference but I didn't get much info on that. As per my knowledge both are used to check the logs..

The obvious difference is dmesg is a command you can execute while /var/adm/messages a log file you can view the content.

The former is displaying the last 200 lines of the latter (and its older versions when necessary).

dmesg provides "slightly more detailed console info" compared to what you will see in the /var/adm/messages

You'll have an hard time demonstrating that ... No, dmesg has no magic power and is simply a convenience shell script that prints the date and tails the message files.