The confusion comes in when two distinct concepts have the same name.
"private key" can mean either the raw 256 bits used to calculate the signature, or it can mean the encoded format that bitcoin stores.
Public key can also mean either the (x,y) point used to verify signatures, or it can mean the encoded version that bitcoin uses.
In the raw sense, both private keys are the same, and both public keys refer to the same (x,y) point. In the encoded sense, the compressed private key encoding implies the compressed public key encoding, and ditto for the uncompressed encodings. The addresses are hashed from the encoded forms, so there are two different addresses that technically refer to the exact same keypair.
Since bitcoin deals exclusively with encoded versions, the two formats are totally distinct different things. If you generate your own raw private key, you can create both encodings and calculate both addresses. Import the two encodings into different wallets, and neither one will have any idea about transactions sent to the other. Even though they could calculate signatures for both, they don't know to look for them.