Cyprus has a very credible military threat from its North and also hosts NATO bases. It also shares very strong cultural ties with Greece (a NATO member).
What is the reason for Cyprus not joining NATO or not being invited to join NATO?
Adding a new country to NATO requires unanamous agreement from existing NATO members, as stated in Article 10:
The Parties may, by unanimous agreement, invite any other European State in a position to further the principles of this Treaty and to contribute to the security of the North Atlantic area to accede to this Treaty. ...
Admission of the Republic of Cyprus has been blocked by NATO member Turkey, due to the still unresolved border dispute between the internationally recognized, and largely Greek-Cypriot, Republic of Cyprus and the Turkish-backed Turkish Republic of Northern Cyprus over control of the island. Since Turkey does not recognize the legitimacy of The Republic of Cyprus, they oppose their admission to NATO
Despite having 22 member states in common, the European Union (EU) and the North Atlantic Treaty Organization (NATO) have been unable to fully cooperate since 2004. Chief among the causal factors for this divide is the persistent conflict between Turkey and Cyprus. NATO requires that every state it shares security information with be a member of its Partnership for Peace (PfP) program. Accession to the PfP program requires unanimous approval by all NATO states. Turkey has not recognized the Republic of Cyprus since 1963, however, and has blocked its accession to PfP.
Abstract to The Cypriot-Turkish conflict and NATO-European Union cooperation
As long as the country is not in control of its whole territory, NATO membership is a complete non-starter. Cyprus might wish to get some powerful military support but NATO countries have no reason to get dragged into it. Cyprus also remains outside the Schengen area for the same reason.
Obviously, the fact that Turkey (the “threat from the North”) is a NATO member is also a small issue.