Story points should reflect the complexity and effort required to complete the story. If points are purely based on complexity, it can inaccurately represent a relatively simple task that requires a lot of repetitive effort. If points are purely based on effort, it may not reflect the potential risks involved with the complexity of the task.
Story points should be relative to a reference story (it should not necessarily correlate to the number of task hours). The number of hours are dependent on who works on the story, so story points should be based on a another story. Attempting to correlate the two will lead to extra work with little or no value if there are more than one member in a team.
The numbers should accurately represent the size relationship for better velocity estimation. For example, if we use story pointing system (1, 2, 4, 8), a story with 4 points should be about double the [effort/complexity estimation of] story with 2 points. The point system should not start with 0 because a hundred 0 point stories adds 0 points to the team velocity. It should also not have granular differences for the larger numbers as this should be a rough estimation where some stories are slightly more or less than estimated.