Different spec reports for particular a product

I see some different numbers in the spec reports for some products. For example, searching for GTX Titan X, I see that the number of cuda cores is 3072 [1] and 3584 [2].

What does that mean? Why that happen?

[1] https://www.geforce.com/hardware/desktop-gpus/geforce-gtx-titan-x/specifications
[2] http://server-gear.com/shop/index.php/blog/nvtitanx-dev-query/

Those are different products.

The first is the (maxwell) Titan X.

The second is the Pascal Titan X. There was also a Titan Xp, slightly different than the Pascal Titan X.

https://babeltechreviews.com/battle-titans-pascal-titan-x-vs-maxwell-titan-x/

In https://www.geforce.com/hardware/desktop-gpus I see only one Titan X. May I ask how can we find its architecture (maxwell/pascal)?

The pages you link in general do not provide architecture information (e.g. they do not identify CUDA compute capability, which would be a sufficient method to identify architecture).

However in this case the 3 products have 3 different names.

Titan X
https://www.geforce.com/hardware/desktop-gpus/geforce-gtx-titan-x/specifications

Pascal Titan X (or Titan X Pascal):
https://www.nvidia.com/en-us/geforce/products/10series/titan-x-pascal/

Titan Xp
https://www.nvidia.com/en-us/titan/titan-xp/

Anyway there is no doubt that the naming convention has considerable overlap. I probably won’t be able to respond to further questions about how to distinguish. It’s necessary to have a certain amount of product awareness to make this distinction with limited information.

Maybe code name can help. According to the wikipedia, There are Titan X (GM) and Titan X (GP).
https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units