thats because DISTINCT gives you distinct set of values for all the column combinations. So it may be that one of involved column has unique columns.
try this
SELECT *
FROM
(
SELECT ROW_NUMBER() OVER (PARTITION BY CTZ.[Territory_Zip_ID] ORDER BY CTZ.[Territory_Zip_ID]) AS Seq,
,CTZ.[Territory_Zip_ID]
,CTZ.[Zip_Code]
,CTZ.[Zip_Code_Extension_From]
,CTZ.[Zip_Code_Extension_To]
,ZC.City_Town
,SP.State_Name AS State_Province
,CO.Country_Name AS Country
FROM TERRITORY_ZIPCODE CTZ
Inner Join ZIP ZC On (CTZ.Zip_Code = ZC.Zip_Code)
Inner Join STATE SP on (SP.State_Code = ZC.State_Province)
Inner Join COUNTRY CO on (CO.Country_ID = SP.Country_ID)
WHERE District_Territory_Id = @pTerritory_Id
)t
WHERE Seq=1
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/