When reading Supreme Court opinions it's important to consider not only who won,
but why. The basic difference between conservative judges and liberal ones is that conservative judges tend to look narrowly at a statute or a provision of the Constitution and apply it according to its literal words without considering any outside influences, while liberal judges are more inclined to take note of external matters, such as changes in society since the original law was written, or possible consequences - intended or otherwise. In this case the conservative majority looked only at the statute granting the president the authority to exclude certain people from the country on the basis of national security. Since the statute is facially neutral the court didn't think it was necessary or even appropriate to consider Trump's frequent expressions of hostility toward Muslims, while the liberal dissenters argued that these expressions were relevant to prove unconstitutional discrimination against a particular religion.
Under any other president this decision would not have been especially earth-shattering (and, of course, the case probably wouldn't have existed in the first place); it would have been a typically conservative, scholastic decision in Antonin Scalia's originalist vacuum. The problem isn't just the decision itself; it's the likely consequence of this president almost certainly assuming that the decision gives him completely unbridled authority over all matters relating to immigration. The majority of the court either didn't think it mattered who the president was, or didn't care that Trump would take it as a huge victory and continue to push the envelope. Fortunately there's some mitigating language in the majority opinion, but it might not be enough.