A helpful distinction is that SPLOC and PECOHAB report similar, but not identical concepts using two different enumeration methods. SPLOC links both married and cohabiting relationships for same-sex and opposite-sex couples using the IPUMS family interrelationship construction methodology. More details about this methodology are available here. PECOHAB is a self-reported variable that uses information from a question asked to unmarried respondents living in households with unrelated adults. Since 2007, this question is, “Do you have a boyfriend, girlfriend, or partner in this household?” If the respondent answered yes, they were prompted to identify the cohabiting partner’s line number.
So, since SPLOC identifies both married and cohabiting relationships I’m not too surprised that 6% of cases have non-zero values for SPLOC and PECOHAB. Regarding the cases where SPLOC and PECOHAB identify different people: these are largely consequences of the imputation methodology used to construct IPUMS family interrelationship variables. As discussed on this page, SPLOC first links couples, both same-sex and opposite-sex, where there is only one potential spouse or partner. In households where there are multiple potential spouses, opposite-sex links are prioritized over same-sex links. When there are multiple potential opposite-sex spouses, relative age is used to pair up spouses. When there are two people of the same age, location in the household is used as a “tie breaker”. Households that contain multiple same-sex couples are paired as the last logical step, again using relative age to determine who will pair together. The variable SPRULE indicates in which potential link was ultimately chosen for SPLOC and can help in understanding the source of the discrepancy between SPLOC and PECOHAB.
I hope this helps.