I am not able to figure out why these node socket looks different.
Diamond socket means that the data is different for each point, circle socket means that the data is single for all points. The diamond socket with the dot simply means that you can use it either as diamond or as circle socket (you can plug in data from circle and diamond sockets, and when you do so, it changes the shape to one of them)
Note also, that circle sockets corresponds to solid connections, and diamond to dashed:
You can pass data from circle to diamond, but not the oposite, it is not allowed: