Most dog breeds were bred to work alongside their owners and feel more secure when they are in a group. Sleeping or laying on top of you could be helping your fur-baby to feel safer and less vulnerable.
Your dog is trying to get extra attention from you. This behavior would be more likely if you have not given your dog attention for a while.
Yes, laying on top of you makes your dog happy. You have the love hormone Oxytocin to thank for that.
This is more likely to occur if it tends to do it more at around the same time that you would normally give it something such as food or going on a walk.
You have encouraged your dog to do this behavior by giving it love when it does it. If you give it things such as back or belly rubs, when it lays on you, it will likely do it more.